Ripristina il titolo del terminale Mac OS X dopo aver chiuso una connessione SSH [duplicato]


18

Possibile duplicato:
Come faccio a impostare OS X per riportare il titolo del terminale sul titolo originale quando torno da ssh?

Ogni volta che esci da una connessione SSH nel terminale Mac OS X, finisci con le informazioni di accesso passate nel titolo della finestra.

La maggior parte delle soluzioni che ho trovato nella ricerca sul Web prevede la riproduzione di sequenze di escape, come questa domanda o questo post di blog correlato .

Sembra essere un problema SSH, non una questione di Terminale, quindi mi chiedevo se esiste un modo più semplice per farlo (magari modificando la configurazione del client SSH?).

Risposte:


26

Non è un problema SSH. Il problema è che la shell sull'host remoto è configurata per inviare una sequenza di escape per impostare il titolo della finestra del terminale. Questa è una configurazione abbastanza comune. Le soluzioni menzionate nel post sul blog a cui sei collegato sono corrette.

La soluzione più semplice e diretta è configurare quella stessa shell remota per ripristinare il titolo della finestra quando si disconnette. ad esempio, se la shell remota è bash, inserirla in ~ / .bash_logout:

printf '\e]0;\a'

In alternativa, se desideri che la tua shell locale aggiorni il titolo della finestra con qualcosa di utile, comunque, allora fallo. Al termine della connessione SSH, la shell locale imposterà il titolo della finestra su qualcos'altro invece di lasciare il valore non aggiornato. es. mettilo in ~ / .bashrc:

PS1='\[\e]1;\s\$ \W\a\e]2;\u@\h\a\]'"$PS1"

Ciò inserisce il nome utente e host nel titolo della finestra (che in genere è quello che le shell remote sono configurate per fare) e imposta anche il titolo della scheda per mostrare il nome e il tipo di shell (utente normale o root) e la directory di lavoro corrente.

Nota che se non hai già un ~ / .bash_profile (o ~ / .profile), creane uno e fallo funzionare ~ / .bashrc in modo che ~ / .bashrc si applichi alle shell di login e non login:

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.