Je voudrais définir le titre du terminal sur user@Host
Donc, je peux facilement dire quelle machine je suis connectée à partir du titre de la fenêtre. Y a-t-il un moyen de le faire de SSH ou de Gnome Terminal?
Oui. Voici un exemple de bash à l'aide de PS1 qui devrait être distro-agnostique:
Plus précisément, la séquence d'évacuation \[\e]0; __SOME_STUFF_HERE__ \a\]
est d'intérêt. J'ai modifié cela pour être défini dans une variable séparée pour plus de clarté.
# 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
TITLEBAR='\[\e]0;\u@\h\a\]'
# Same thing.. but with octal ASCII escape chars
#TITLEBAR='\[\033]2;\u@\h\007\]'
if [ "$color_Prompt" = yes ]; then
PS1="${TITLEBAR}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ "
else
PS1="${TITLEBAR}\u@\h:\W\$ "
fi
unset color_Prompt force_color_Prompt
Notez également qu'il peut y avoir de nombreuses façons de définir le titre d'un XTERM, en fonction du programme terminal que vous utilisez et de la coque. Par exemple, si vous utilisez Konsole de KDE, vous pouvez remplacer le paramètre Titre en allant sur Settings
-> Configure Profiles
-> Edit Profile
-> Tabs
et définir le Tab title format
et Remote tab title format
Les paramètres.
De plus, vous voudrez peut-être vérifier:
Voici une version du script SSH Bash que j'utilise qui définit l'invite de titre et de commande du serveur distant sans modifier le serveur distant.
my_ssh.sh:
#!/bin/bash
SETTP='MY_Prompt="$HOSTNAME:$PWD\$ "'
SETTP="$SETTP;"'MY_TITLE="\[\e]0;$HOSTNAME:$PWD\a\]"'
SETTP="$SETTP;"'PS1="$MY_TITLE$MY_Prompt"'
ssh -t $1@$2 "export Prompt_COMMAND='eval '\\''$SETTP'\\'; bash --login"
Vous pouvez l'invoquer en appelant ./my_ssh.sh Nom d'utilisateur Nom d'utilisateur Nom d'hôte
Les œuvres suivantes pour moi (probablement uniquement sur Gnome-Terminal):
comp@home$ cat /usr/bin/ssh
#!/bin/bash
echo -ne "\033]0;${1}\007"
ssh_bkup "$@"
Lorsque la commande SSH_BKUP n'est que de base 'ssh' avec un nom modifié, qui est appelé juste après que la commande ECHO modifie le titre du terminal actuel.
ceci est une version alias
SETTP='MY_Prompt="$HOSTNAME:$PWD\$ "'
SETTP="$SETTP;"'MY_TITLE="\[\e]0;$HOSTNAME:$PWD\a\]"'
SETTP="$SETTP;"'PS1="$MY_TITLE$MY_Prompt"'
SETPC="export Prompt_COMMAND='eval '\\''$SETTP'\\'; bash --login"
alias myssh='function _myssh(){ ssh -t $1@$2 $SETPC; };_myssh'