Tente adicionar (supondo que ainda não esteja lá) ao seu arquivo .screenrc:
shell -$SHELL
Isso lhe dará um shell de login quando você inicializar uma sessão de tela ou criar outro terminal a partir de um.
Quando executo a tela, ela muda meu prompt. Como evito esse comportamento? Por exemplo:
$ echo $PS1
\[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
$ screen
$ echo $PS1
[\u@\h \W]\$
Curiosamente, isso não acontece em outras máquinas. A máquina em questão é a atualização 4 do Redhat 4, com a versão 4.00.02 (FAU) 5-Dec-03.
Muitas distribuições verificam o tipo de terminal antes de definir o prompt. O Ubuntu, por exemplo, contém essa pequena joia no padrão .bashrc:
# set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac
Como a tela usa sua própria variável TERM ("screen"), o bash acha que não é capaz de exibir um prompt de cores sofisticado, por isso, o padrão é mais simples. É claro que a tela é totalmente capaz dos mesmos prompts complexos que um terminal normal.
Portanto, para substituir esse comportamento, apenas defina suas opções preferidas do PS1 no final do arquivo ~/.bashrc
. Ou, se você estiver se sentindo aventureiro, encontre o teste que verifica o valor da variável TERM e modifique-o para aceitar "screen" além de "xterm-color".
Talvez seja uma variável personalizada definida no arquivo ~ / .screenrc?
Teve o mesmo problema (não há mais prompt personalizado na tela) em uma máquina com
SHELL -$SHELL
e não setenv PS1
no screenrc, e nenhum teste especial para terminal (burro) no bashrc.
Definindo o $ TERM usado:
$ echo $TERM
urxvt-unicode-256color
no screenrc recebi meu aviso personalizado de volta na tela:
- #term xterm-256color
+ term urxvt-unicode-256color
PS: outra conta não tinha necessidade disso, mas testes de bashrc para dircolors e um terminal moderno dessa forma 1 :
if [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] ; then
PS1=<my fancy prompt>
Eu acredito que isso também funciona:
if [ "$TERM" != "dumb" ]; then
PS1=<my fancy prompt>
Tags gnu-screen linux