Saya mencoba screen
mengatur xterm
judul saya . Saya memiliki ini berfungsi di luar screen
, tetapi screen
menjaga judul apa pun di tempat ketika saya mulai. Ini milik saya .bashrc
:
function bash_prompt_command () { # Berapa banyak karakter $ PWD yang harus disimpan pwdmaxlen lokal = 25 # Tunjukkan bahwa telah ada pemotongan dir trunc_symbol lokal = ".." dir lokal = $ {PWD ## * /} pwdmaxlen = $ (((pwdmaxlen <$ {# dir})? $ {# dir}: pwdmaxlen)) NEW_PWD = $ {PWD / # $ HOME / \ ~} pwdoffset lokal = $ (($ {# NEW_PWD} - pwdmaxlen)) jika [$ {pwdoffset} -gt "0"] kemudian NEW_PWD = $ {NEW_PWD: $ pwdoffset: $ pwdmaxlen} NEW_PWD = $ {trunc_symbol} / $ {NEW_PWD # * /} fi ekspor NEW_PWD } PROMPT_COMMAND = bash_prompt_command # Bagan warna @ http://wiki.archlinux.org/index.php/Color_Bash_Prompt huruf "$ {TERM}" di "xterm") TITLEBAR = '\ [\ 033] 0; \ u @ \ h> $ {NEW_PWD} \ 007 \]' PS1 = "$ {TITLEBAR} \ [\ e [1; 32m \] [\ e [0; 36m \] \ u \ e [1; 32m \] @ \ e [1; 33m \] \ h \ e [ 1; 32m \]] \ e [0; 37m \] \ $ {NEW_PWD} / \ e [1; 32m \] \ $ \ [\ e [0m " ;; "layar") TITLEBAR = '\ [\ 033] 0; \ u @ \ h> $ {NEW_PWD} \ 007 \]' ESC = '\ [\ ek \ e \\\]' PS1 = "$ {TITLEBAR} \ [\ e [1; 32m \] [\ e [0; 36m \] \ u \ e [1; 32m \]] \ e [0; 37m \] \ $ {NEW_PWD} / \ e [1; 32m \] \ $ $ {ESC} \ [\ e [0m " ;; *) PS1 = "\ [\ e [1; 32m \] [\ e [0; 36m \] \ u \ e [1; 32m \] @ \ e [1; 33m \] \ h \ e [1; 32m \ ]] \ e [0; 37m \] \ $ {NEW_PWD} / \ e [1; 32m \] \ $ \ [\ e [0m " ;; esac
Dan ini milik saya .screenrc
:
hardstatus selalulastline string hardstatus '% {= kg} [% {Y}% H% {g}] [% =% {= kw}%?% - Lw%?% {= b kR} (% {W}% n-% t%? (% u)%?% {= b kR})% {= kw}%?% + Lw%?%?% =% {g}] [% {Y}% l% {g}]% {g} [% {B}% m.% d.% Y% {G}% c% {g}] ' termcapinfo xterm | xterms | xs | rxvt ti @: te @ termcapinfo xterm 'hs: ts = \ E] 2;: fs = \ 007: ds = \ E] 2; screen \ 007' altscreen aktif shelltitle '$ | bash'
Apa yang saya lakukan salah?
Pembaruan (19 Agustus 2010):
Masalahnya adalah Anda tidak dapat memperbarui judul terminal dari dalam layar ketika Anda mengatur alwayslastline
. Jadi solusi saya adalah menyerah dan puas dengan judul yang telah ditentukan, berguna, untuk sesi layar saya. Saya diperbarui .bashrc
dan .screenrc
dapat ditemukan di http://bitbucket.org/jsumners/rcfiles/src .
sumber
hardstatus alwayslastline
seperti yang saya lakukan untukscreen
mencegahscreen
pengaturanxterm
judul. Sekarang jika saya bisa mencari tahu bagaimana melakukan keduanya sekaligus.screen
yang menetapkan judul jendela dan kemudian meluncurkan program. Dan kemudian menyerah pada judul terminal dinamis saat menggunakanscreen
. :(Sebenarnya, ada cara untuk mengirim urutan escape langsung ke xterm, melewati layar. Itu tidak mudah ditemukan, tetapi dari kode layar (src / ansi.c) saya pikir itu sudah ada sejak tahun 2005. Saya memilikinya bekerja di xterm, Terminal Gnome, dan dempul. Saya menemukan catatan di sumber mintty menunjukkan itu tidak berfungsi di sana hanya karena mereka tidak menangani DCS (kecuali diperbaiki baru-baru ini).
Dari dokumentasi untuk layar di bawah ini (di http://www.gnu.org/software/screen/manual/html_node/Control-Sequences.html )
ANSI DCS (Device Control String) adalah kode pelarian yang digunakan untuk mengirim langsung ke terminal (saya pikir itu adalah tujuan aslinya dari beberapa tahun yang lalu). String semacam itu diakhiri dengan kode pelolosan ST (String Terminator).
Bungkus string untuk mengatur judul jendela terminal di dalam blok DCS..ST, dan melewati layar dan memperbarui dengan benar, bahkan dengan hardstatus selalulastline.
DCS = \ 033P, ST = \ 033 \
Contoh - untuk memperbarui judul jendela dengan direktori kerja saat ini, gunakan
Lebih baik terlambat daripada tidak sama sekali! Semoga ini bisa membantu seseorang.
Kalau-kalau saya salah tentang perubahan sumber layar: Saya menjalankan git terbaru dari sesi-layar, yang pada gilirannya menggunakan hampir terbaru dari git layar (dengan beberapa perubahan khusus untuk sesi-layar). Tetapi pesan log bertanggal dari layar 2005 (Anda dapat melihat perubahan yang dilakukan pada komit tersebut mengenai penanganan DCS jika Anda mengkloning layar git repo dan menggunakan perintah di bawah ini).
sumber
crb agak benar, tapi
a) kode pelarian yang dia gunakan tidak bekerja untuk saya. Seharusnya
\033k
bukan\033_
. Lihat discreen (1)
bawah"TITLES (naming windows)"
. Jadi seharusnya:b) pelarian semacam ini hanya digunakan untuk mengatur judul jendela layar. Satu contoh layar dapat memiliki beberapa jendela, masing-masing memiliki nama, yaitu apa yang ditampilkan
hardstatus
dancaption
dengant
urutan pelarian.c) bash normal escape berfungsi jika Anda mengatur terminfo yang tepat untuk xterm di
.screenrc
:(ini juga
works on my machine
untuk dempul)Jadi untuk mengatur judul yang tepat untuk jendela layar dan judul dempul / xterm, saya menggunakan sesuatu seperti:
untuk referensi: http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x395.html
sumber
Saya tidak akan menjawab pertanyaan sepenuhnya, tetapi izinkan saya menyarankan cara untuk menyelesaikan masalah. Banyak manajer jendela mendukung spesifikasi EWMH . Ada juga alat baris perintah
wmctrl
yang dapat berinteraksi dengan mereka. Dengan menggunakan alat ini, seseorang dapat dengan mudah mengubah judul jendela aktif dengan perintah berikut:Dimungkinkan juga untuk mengubah ikon jendela, tata letak dan properti lainnya. Alat ini mungkin tidak akan berfungsi untuk Putty karena Windows tidak mendukung EWMH, tetapi sebagian besar sistem Linux harus menerimanya.
Dengan metode ini tidak masalah apakah Anda menggunakan
screen
atau tidak.sumber
2 minggu terakhir saya telah mencari banyak forum dan saya belum menemukan jawaban untuk pertanyaan:
Bagaimana cara mendapatkan semua output perintah ke judul Putty?
Membutuhkannya untuk program lain untuk mengetahui kapan beberapa pekerjaan di server dilakukan dan apakah itu dilakukan dengan benar atau salah. Plink stdout dan stdin tidak berfungsi, saya menggunakan banyak tweak dengan penundaan menunggu dan untuk beberapa perintah yang bekerja untuk yang lain tidak. XSEL dan XCLIP tidak dapat diinstal pada server itu.
Jadi, inilah solusinya:
Pada klien dempul dan server suse sepertinya:
Semoga seseorang dapat menggunakan ini. Itu tidak akan bekerja untuk semua jenis server dan pengaturan klien dempul, tentu saja, tetapi idenya harus bekerja dengan baik.
sumber