Ini sedikit tindak lanjut dari pertanyaan ini . Saya bekerja di tcsh di dalam layar GNU dalam xterm .
Saya memiliki yang berikut ini di .cshrc saya:
alias res_t 'xtset -t %h:%d "(%u:%g)" %e' # reset titlebar
res_t # reset title right now
alias precmd res_t
Dan ini bekerja dengan baik!
Namun, ketika saya menjalankan layar saya melihat bahwa judul tidak diperbarui dengan direktori saat ini. Bagaimana saya bisa membuat layar memperbarui judul xterm?
gnu-screen
xterm
tcsh
Nathan Fellman
sumber
sumber
Jawaban:
Anda dapat mengatur judul jendela xterm dengan menambahkan ini ke
.tcshrc
atau.cshrc
(gantiprecmd
alias Anda saat ini ):Pastikan ini adalah satu-satunya alias yang ada di file Anda
.cshrc
dan.tcshrc
saat menggunakan ini. Metode ini menampilkan direktori saat ini sebagai judul jendela untuk saya di kedua xterm terminal gnome terlepas dari apakah sesi layar GNU terbuka.Jawaban saya didasarkan pada ini .
sumber
Saya mengerti Anda menggunakan tcsh jadi ini mungkin tidak akan berhasil ... Kalau-kalau ada yang mencari cara bash untuk melakukan ini.
Jika sistem Anda (lokal / jarak jauh) sedang menjalankan bash maka Anda dapat menggunakan variabel lingkungan "PROMPT_COMMAND" untuk mengatur judul jendela. PROMPT_COMMAND dievaluasi sebelum permintaan ditampilkan.
(di .bashrc Anda):
Penjelasan:
Ini mengatur shell untuk menambahkan ke file history setiap kali perintah selesai, bukan ketika seluruh shell selesai. (Ini tidak terkait dengan contoh ini).
Ini menggemakan kode pelarian "\ 033] 0;" yang menetapkan judul jendela dengan variabel "user" @ "host" (menghapus kecocokan terlama dari kanan ke pertama ".") dan kemudian direktori kerja (mengganti '~' untuk '$ HOME').
Trik di atas akan bekerja dengan aplikasi terminal apa pun yang mendukung perubahan dinamis judul jendela (seperti iTerm, Terminal.app, urxvt, aterm, eTerm. Xterm, dll.) Anda juga dapat melihat variabel shell "TITLEBAR" dalam dokumentasi bash, ini mirip.
sumber
Ini harus bekerja di shell apa pun, tapi ini adalah hack .screenrc yang kotor. Ini mengambil alih garis hardstatus Anda untuk bekerja, yang mungkin tidak dapat diterima oleh beberapa pengguna. Tetapi ia bekerja di terminal gnome di Ubuntu terbaru, bahkan tanpa baris termcapinfo di bawah ini. Beberapa situasi mungkin memerlukan penyesuaian lebih dalam (misalnya, saya belum menguji Putty).
Ditemukan di tautan ini .
sumber
sumber
screen
hardstatus
set variabel layar yang sesuai dan dukungan termcap / terminfohs|ts|fs|ds
.Halaman ini (yang telah ditautkan di atas) adalah solusinya, namun Anda perlu memastikan string terminal entri sesuai dengan string id terminal Anda (yaitu; apa variabel TERM diatur ke) jika tidak maka tidak akan berpengaruh.
Berikut ringkasan dari apa yang saya lakukan, yang berhasil bagi saya setelah bertahun-tahun tidak menginvestasikan waktu yang cukup untuk mencari tahu:
Cari tahu apa string ID terminal Anda dengan menjalankan:
Mungkin akan mengatakan sesuatu seperti 'xterm' atau 'linux' atau 'rxvt'.
Sekarang tambahkan baris berikut ke file .screenrc Anda (atau buat jika tidak ada) yang terletak di homedir Anda (~ / .screenrc):
Kuncinya adalah memastikan bahwa 'xterm' adalah string ID TERM Anda yang Anda dapatkan di atas. Anda dapat melakukan banyak baris untuk setiap jenis istilah berbeda yang Anda gunakan.
Sebagai contoh saya memiliki ini sebagai file .screenrc saya karena saya menggunakan kedua xterms dan tipe istilah 'linux' ketika SShing ke dalam kotak:
Semoga ini bisa membantu, dan benar-benar shell agnostik. Ingat jika Anda menjalankan layar sebagai root, Anda perlu memodifikasi ~ root / .screenrc di samping file ~ / .screenrc Anda sendiri seperti ini.
sumber
Instruksi di sini memungkinkan saya untuk memperbarui judul di rxvt dari bash untuk saya - yang mungkin bukan bantuan apa pun tetapi saya pikir ini mungkin perlu diselidiki (bagian Informative Statusbar jika tautan tidak melompat ke bagian kanan halaman)
sumber