Comment puis-je faire OS X remettre le titre du terminal sur le titre d'origine en revenant de ssh?

12

À partir d'OS X, je ssh dans foo (une boîte Linux). Le titre de mon terminal devient foo. J'ai ensuite ssh dans bar (une autre boîte Linux). Le titre de mon terminal devient barre. Je me déconnecte du bar. Le titre de mon terminal devient foo. Je me déconnecte de foo. Mon titre de terminal reste foo (plutôt que de revenir au titre d'origine). Le problème n'est évidemment pas avec le terminal, car il fonctionne correctement lors de la déconnexion d'une boîte Linux vers une boîte Linux. Ce n'est probablement pas ssh car j'ai le même problème avec vim. Dans mon esprit, cela laisse la coquille. J'utilise BASH. En regardant dans l'environnement, je ne vois pas beaucoup de différence entre la boîte Linux et ma boîte OS X. Les deux utilisent un TERM de xterm.

Chas. Owens
la source

Réponses:

14

Ajouter

export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

à mon .bash_profilefixe le problème.

Il semble que la chaîne dans PROMPT_COMMANDsoit exécutée chaque fois que l'invite est affichée. Depuis la page de manuel:

PROMPT_COMMAND

S'il est défini, la valeur est exécutée en tant que commande avant d'émettre chaque invite principale.

Chas. Owens
la source
3
Il est peu probable que vous vous connectiez à OS X via la console, mais cela peut arriver. Pour éviter les problèmes dans cet événement, j'emballe tout cela dans un case "$TERM" in xterm*|rxvt*)type d'accord. Je pense que j'ai eu l'idée à l'origine d'ici: tldp.org/HOWTO/Bash-Prompt-HOWTO/…
Télémaque
Oh, aussi, je trouve préférable d'aller dans les préférences de Terminal.app (Préférences -> Paramètres -> Fenêtre) et de supprimer tout ce qu'il essaie d'ajouter à la barre de titre, mais ymmv.
Télémaque
Eh bien, je n'utilise iTerm.apppas Terminal.app, et ça marche. Vous avez un point sur le vrai terminal. Ma boîte Linux a juste une telle vérification, donc je vais l'ajouter à mon profil, merci.
Chas. Owens