Gnome Terminal v3.28.1(Cinnamonを含むLinux Mint 19.2)ではPS1値を変更できません。

Gnome Terminal v3.28.1(Cinnamonを含むLinux Mint 19.2)ではPS1値を変更できません。

PS1のプロンプト値を変更できません。端末エミュレータLinux Mint 19.2とCinnamonを組み合わせた。コンソールログイン(F1〜F6)にのみ適用されます。

ファイルの最後の数行.profile

export PS1='my-customized-prompt $'
export PSCOPY=$PS1

Cinnamonを再起動した後(コンピュータも再起動してみました):その後、ターミナルエミュレータや他のbash "機能"など、他のものが値を.profile変更するように見えます。PS1

luc@lucmint:~$ echo $PSCOPY
my-customized-prompt $
luc@lucmint:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
luc@lucmint:~$ 

ただし、su 「-l」パラメータを使用してコマンドラインからbashを実行するか、コマンドを使用してユーザーを変更すると機能します。:

luc@lucmint:~$ bash -l
my-customized-prompt $logout
luc@lucmint:~$ su - luc
Password: 
my-customized-prompt $

どうなりますか?ターミナルエミュレータが開いているときにPS1変数を上書きする人は誰ですか?そしてそれを防ぐ方法は何ですか?

編集する:

ホームディレクトリ内のすべての隠しファイル:

$ ls -ld  ~/.*
drwxr-xr-x 30 luc  luc   4096 Aug 27 14:44 /home/luc/.
drwxr-xr-x  3 root root  4096 Aug 26 14:27 /home/luc/..
-rw-------  1 luc  luc   4706 Aug 27 14:42 /home/luc/.bash_history
-rw-r--r--  1 luc  luc    220 Aug 26 14:27 /home/luc/.bash_logout
-rw-r--r--  1 luc  luc   3771 Aug 27 14:00 /home/luc/.bashrc
drwx------ 10 luc  luc   4096 Aug 26 16:36 /home/luc/.cache
drwxrwxr-x  4 luc  luc   4096 Aug 26 15:25 /home/luc/.cinnamon
drwxr-xr-x 14 luc  luc   4096 Aug 26 16:36 /home/luc/.config
-rw-r--r--  1 luc  luc     27 Aug 26 14:36 /home/luc/.dmrc
drwx------  2 luc  luc   4096 Aug 26 14:36 /home/luc/.gconf
-rw-r--r--  1 luc  luc    112 Aug 26 18:06 /home/luc/.gitconfig
drwx------  3 luc  luc   4096 Aug 26 16:36 /home/luc/.gnome
drwx------  3 luc  luc   4096 Aug 26 14:36 /home/luc/.gnupg
-rw-r--r--  1 luc  luc    245 Aug 26 18:18 /home/luc/.gtkrc-2.0
-rw-r--r--  1 luc  luc    516 Aug 26 14:27 /home/luc/.gtkrc-xfce
-rw-------  1 luc  luc   5470 Aug 27 14:43 /home/luc/.ICEauthority
drwxrwxr-x  2 luc  luc   4096 Aug 26 16:33 /home/luc/.icons
drwxr-xr-x  4 luc  luc   4096 Aug 26 17:53 /home/luc/.java
-rw-------  1 luc  luc     32 Aug 27 14:20 /home/luc/.lesshst
drwx------  3 luc  luc   4096 Aug 26 14:36 /home/luc/.local
drwx------  5 luc  luc   4096 Aug 26 15:04 /home/luc/.mozilla
drwxr-xr-x  7 luc  luc   4096 Aug 26 15:49 /home/luc/.nbi
drwxr-xr-x  3 luc  luc   4096 Aug 26 15:54 /home/luc/.netbeans
drwx------  3 luc  luc   4096 Aug 26 16:36 /home/luc/.pki
-rw-r--r--  1 luc  luc    938 Aug 27 14:44 /home/luc/.profile
drwx------  2 luc  luc   4096 Aug 26 16:49 /home/luc/.ssh
-rw-r--r--  1 luc  luc      0 Aug 26 14:40 /home/luc/.sudo_as_admin_successful
drwxrwxr-x  3 luc  luc   4096 Aug 26 18:19 /home/luc/.themes
-rw-r-----  1 luc  luc      5 Aug 27 14:43 /home/luc/.vboxclient-clipboard.pid
-rw-r-----  1 luc  luc      5 Aug 27 14:43 /home/luc/.vboxclient-display.pid
-rw-r-----  1 luc  luc      5 Aug 27 14:43 /home/luc/.vboxclient-draganddrop.pid
-rw-r-----  1 luc  luc      5 Aug 27 14:43 /home/luc/.vboxclient-seamless.pid
-rw-------  1 luc  luc   8268 Aug 27 14:44 /home/luc/.viminfo
-rw-------  1 luc  luc     52 Aug 27 14:43 /home/luc/.Xauthority
-rw-rw-r--  1 luc  luc    131 Aug 26 18:28 /home/luc/.xinputrc
-rw-------  1 luc  luc  19039 Aug 27 14:44 /home/luc/.xsession-errors
-rw-------  1 luc  luc  97892 Aug 27 14:42 /home/luc/.xsession-errors.old

答え1

Bashは.profileログインシェルでのみ読み取り、他のインタラクティブシェルではなく読み取ります.bashrc。 (/etc/profileおよびと同じ/etc/bash.bashrc)。多くのシステム(Debianを含む)ではデフォルト/etc/bash.bashrc設定があるPS1ため、非ログインシェルではこれが使用されます。

ターミナルエミュレータは非ログインシェルでシェルを実行しますが、少なくとも一部はログインシェルを実行するように設定できます。たとえば、Gnome端末には「ログインシェルでコマンドを実行する」チェックボックスが必要です。エミュレータが呼び出すコマンドを変更できる場合は、このチェックボックスを使用するか、/bin/bash -lログインシェルにタグを付けることができます。-l--login

PS1これらのファイルのいずれかに設定しないと、bashrc環境なしで起動されたシェルにはこのようなPS1デフォルト値があるため、設定するのが最も安全です。PS1bash-4.4$PS1bashrc

また、シェルがログインシェルで始まると、それ自体はbashrc読み込まれません。これがprofileDebian 文書で明示的にこれを行う理由です。

関連:

関連情報