Lorsque je lance l'écran, cela modifie mon invite. Comment empêcher ce comportement? Par exemple:
$ echo $PS1
\[\e]0;\h:Prod\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
$ screen
$ echo $PS1
[\u@\h \W]\$
Fait intéressant, il ne le fait pas sur d'autres machines. La machine en question est Redhat 4 mise à jour 4, avec la version d'écran 4.00.02 (FAU) 5-Dec-03.
linux
gnu-screen
Swoogan
la source
la source
De nombreuses distributions vérifient le type de terminal avant de définir l'invite. Ubuntu, par exemple, contient ce petit bijou dans le .bashrc par défaut:
Étant donné que screen utilise sa propre variable TERM ("screen"), bash pense qu'il n'est pas capable d'afficher une invite de couleur fantaisie, il est par défaut plus simple. L'écran est bien entendu parfaitement capable des mêmes invites complexes qu'un terminal normal.
Donc, pour remplacer ce comportement, définissez simplement vos options PS1 préférées à la fin de votre
~/.bashrc
fichier. Ou, si vous vous sentez aventureux, trouvez le test qui vérifie la valeur de la variable TERM et modifiez-la pour accepter "screen" en plus de "xterm-color".la source
Il s'agit peut-être d'une variable personnalisée définie dans le fichier ~ / .screenrc?
la source
A eu le même problème (plus d'invite personnalisée à l'écran) sur une machine avec
SHELL -$SHELL
et passetenv PS1
dans screenrc, et aucun test spécial pour le terminal (stupide) dans bashrc.Définition du $ TERM utilisé:
dans screenrc a récupéré mon invite personnalisée sous l'écran:
PS: un autre compte n'en avait pas besoin, mais bashrc teste les dircolors et un terminal moderne de cette façon 1 :
Je pense que cela fonctionne aussi:
la source