我无法使用Cinnamon更改Linux Mint 19.2终端仿真器的de PS1提示值。它仅适用于在控制台(F1至F6)上进行的登录。
.profile
文件的最后几行:
export PS1='my-customized-prompt $'
export PSCOPY=$PS1
重新启动Cinnamon之后(我也尝试过重新启动计算机):在之后.profile
,似乎还有其他东西正在更改该PS1
值,例如终端仿真器或任何其他bash“功能”。
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:~$
但是,当我从命令行使用“ -l”参数运行bash或通过su
command更改用户时,它会起作用:
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
Bash.profile
仅从登录Shell读取,.bashrc
而从其他交互式Shell读取。(与/etc/profile
和相同/etc/bash.bashrc
)。在包括Debian在内的许多系统上,默认/etc/bash.bashrc
设置为PS1
,因此对于非登录shell来说,正是使用它们。
您的终端模拟器可能将外壳作为非登录外壳运行,尽管至少可以将某些配置为运行登录外壳。例如,Gnome终端应具有“将命令作为登录外壳程序运行”复选框,并且如果仿真器允许您更改其调用的命令,则可以使用/bin/bash -l
(-l
或--login
标记登录外壳程序)。
如果您未PS1
在其中一个bashrc
文件中进行设置,则在没有PS1
该环境的情况下启动的外壳将以默认值结束PS1
,并给出类似的信息bash-4.4$
,因此设置PS1
中可能是最安全的bashrc
。
还要注意,如果该外壳程序是作为登录外壳程序启动的,则它bashrc
本身将不会读取。这就是为什么profile
Debian上的文件会明确地执行此操作的原因。
有关的:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句