L'une des machines sur laquelle je me connecte via ssh ne me donne pas d'invite colorée, bien que je l'aie configurée via .bashrc
. En .bashrc
La partie en question est
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1='${debian_chroot:+($debian_chroot)}\[\e[00;33m\]\u\[\e[00m\]@\[\e[00;34m\]\h\[\e[00m\]:\[\e[00;36m\]\w\[\e[00m\]\e[01;31m#\e[00m '
else
PS1='${debian_chroot:+($debian_chroot)}\[\e[00;32m\]\u\[\e[00m\]@\[\e[00;34m\]\h\[\e[00m\]:\[\e[00;36m\]\w\[\e[00m\]$ '
fi
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
et je l'utilise sur plusieurs autres machines avec le résultat escompté.
Je ne sais pas pourquoi cet ordinateur n'utilise pas cette fonction. .bashrc
. Si j'utilise
export PS1='${debian_chroot:+($debian_chroot)}\[\e[00;32m\]\u\[\e[00m\]@\[\e[00;34m\]\h\[\e[00m\]:\[\e[00;36m\]\w\[\e[00m\]$ '
(la ligne ci-dessus), mon invite obtient le format souhaité. /etc/bash.bashrc
existe, également /etc/profile
les deux me semblent corrects.
De même, si je me connecte à cet ordinateur par ssh, le titre xterm n'est pas défini. Normalement, il est défini sur user@host pour cette machine. Je soupçonne la même cause fondamentale, mais je ne sais pas où chercher.