Kembalikan judul Terminal Mac OS X setelah menutup koneksi SSH [duplikat]

18

Kemungkinan Duplikat:
Bagaimana cara saya membuat OS X mengatur judul terminal kembali ke judul asli ketika kembali dari ssh?

Setiap kali Anda keluar dari koneksi SSH di terminal Mac OS X Anda berakhir dengan informasi login yang lalu dalam judul jendela.

Sebagian besar solusi yang saya temukan mencari di web melibatkan bermain di sekitar urutan melarikan diri, seperti pertanyaan ini atau posting blog terkait ini .

Tampaknya menjadi masalah SSH, bukan hal Terminal, jadi saya bertanya-tanya apakah ada cara yang lebih mudah untuk melakukan ini (mungkin mengedit konfigurasi klien SSH?).

Elitalon
sumber

Jawaban:

26

Ini bukan masalah SSH. Masalahnya adalah bahwa shell pada host jarak jauh dikonfigurasi untuk mengirim urutan pelarian untuk mengatur judul jendela terminal. Ini adalah pengaturan yang cukup umum. Solusi yang disebutkan dalam posting blog yang Anda tautkan sudah benar.

Solusi paling sederhana dan paling langsung adalah mengkonfigurasi shell jarak jauh yang sama untuk mereset judul jendela ketika logout. misal, jika shell jarak jauh adalah bash, masukkan ini ke ~ / .bash_logout:

printf '\e]0;\a'

Atau, jika Anda ingin agar shell lokal Anda memperbarui judul jendela dengan sesuatu yang bermanfaat, maka lakukanlah. Ketika koneksi ssh berakhir, shell lokal akan mengatur judul jendela untuk sesuatu yang lain alih-alih meninggalkan nilai basi. mis. letakkan ini di ~ / .bashrc:

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

Ini menempatkan nama pengguna dan host dalam judul jendela (yang biasanya dikonfigurasikan untuk melakukan shell jauh), dan juga mengatur judul tab untuk menampilkan nama dan tipe shell (pengguna normal atau root) dan direktori kerja saat ini.

Perhatikan bahwa jika Anda belum memiliki ~ / .bash_profile (atau ~ / .profile), buat satu dan jalankan ~/ .bashrc sehingga ~ / .bashrc berlaku untuk shell login dan non-login:

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi
Chris Page
sumber