Não consigo alterar o valor do prompt do PS1 do emulador de terminal do Linux Mint 19.2 com Cinnamon. Funciona apenas para logins feitos no console (F1 a F6).
As últimas linhas do .profile
arquivo:
export PS1='my-customized-prompt $'
export PSCOPY=$PS1
Depois de reiniciar o Cinnamon (tentei também reiniciar o computador):
Parece que outra coisa, depois .profile
de , está alterando o PS1
valor, como o emulador de terminal ou qualquer outro "recurso" do 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:~$
No entanto, quando executo o bash na linha de comando com o argumento "-l" ou altero o usuário com o su
comando, funciona :
luc@lucmint:~$ bash -l
my-customized-prompt $logout
luc@lucmint:~$ su - luc
Password:
my-customized-prompt $
O que está acontecendo? Quem está substituindo a variável PS1 quando o emulador de terminal está aberto? E como prevenir?
EDITAR:
Todos os arquivos ocultos no diretório inicial:
$ 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 lê
.profile
apenas de shells de login, para outros shells interativos ele lê.bashrc
. (O mesmo para/etc/profile
e/etc/bash.bashrc
). Em muitos sistemas, incluindo o Debian, o padrão/etc/bash.bashrc
definePS1
, portanto, para shells sem login, é isso que é usado.Seu emulador de terminal provavelmente executa o shell como um shell sem login, embora pelo menos alguns possam ser configurados para executar um shell de login. Por exemplo, o terminal Gnome deve ter uma caixa de seleção "executar comando como um shell de login", e se o emulador permitir que você altere o comando que ele invoca, você pode usar
/bin/bash -l
(o-l
ou--login
marca um shell de login).Se você não configurou
PS1
em um dosbashrc
arquivos, um shell que foi iniciado semPS1
no ambiente terminaria com o padrãoPS1
, dando algo comobash-4.4$
, então provavelmente é mais seguroPS1
configurarbashrc
.Observe também que, se o shell for iniciado como um shell de login, ele não será lido
bashrc
sozinho. É por isso que osprofile
arquivos, por exemplo, no Debian fazem isso explicitamente.Relacionado: