Comment puis-je faire en sorte qu'iTerm2 mette à jour le titre de chaque onglet avec le nom d'utilisateur et le nom d'hôte de l'hôte SSH distant ? Actuellement, le mieux que je puisse faire est "ssh user@hostname" et avec plusieurs onglets, il est impossible de les différencier car seule la partie "ssh" est visible.
Réponse
Trop de publicités?Tu ne le fais pas.
Au lieu de cela, vous obtenez la télécommande pour mettre à jour le titre de la fenêtre. Cela se fait généralement dans la configuration de l'invite du shell sur la télécommande. Vous configurez également le local pour qu'il définisse le titre de la fenêtre, de sorte que lorsque la commande ssh
la session se termine, le titre n'est plus fixé à la télécommande.
Voici un exemple :
# xterm titlebar
TITLEBAR=$(printf '\033]0;')
BELL=$(printf '\007')
# set prompt
case $TERM in
# xterm and variants, set the titlebar
xterm*) PS1='${TITLEBAR}[\u@\h]${BELL}\h \$ ' ;;
# anything else, don't try to set the titlebar
*) PS1='\u@\h \$ ' ;;
esac
Le code d'échappement TITLEBAR indique au terminal dans lequel s'exécute le shell qu'il doit définir la barre de titre sur le texte suivant. Vous terminez la chaîne par un BELL.
Le site case
est un test simpliste pour savoir si le terminal dans lequel le shell est exécuté est un Xterm ou compatible.
Les échappements de barres obliques inversées que votre shell prend en charge pour les informations d'invite (nom d'hôte, nom d'utilisateur, heure, etc.) sont expliqués dans sa documentation.
Vous pouvez trouver le Guide de l'invite BASH utile.