Bagaimana cara memilih apa yang muncul di bilah judul Putty dari Linux?

8

Dalam konfigurasi Putty ada opsi di Terminal → Fitur yang disebut Nonaktifkan remote control window title berubah . Tanpa itu diaktifkan, bilah judul PuTTY akan berubah setiap kali saya menekan kembali di konsol.

Saya berpikir itu akan menjadi solusi yang lebih bersih untuk mengatur teks judul bar dari Linux daripada untuk menentukan satu untuk setiap klien Putty saya telah meletakkan sekitar. Jadi di mana saya bisa memodifikasi apa yang ditetapkan Linux sebagai judul jendela?


$ uname -a
Linux drevo 2.6.32-5-amd64 # 1 SMP Sen Jan 16 16:22:28 UTC 2012 x86_64 GNU / Linux

$ cat / etc / debian_version
6.0.4
Hubro
sumber

Jawaban:

6

Sebagian besar program terminal - termasuk konsole, dempul dan xterm - meniru terminal VT100 lama. Terminal ini memungkinkan Anda untuk mengatur hal-hal tertentu, termasuk tebal, warna, pengaturan judul terminal, dan sebagainya, menggunakan urutan karakter khusus yang disebut escape sequence.

Shell bash memiliki variabel yang disebut PROMPT_COMMAND yang, jika diset, dievaluasi sebelum setiap prompt yang Anda cetak (saya percaya zsh memiliki sesuatu yang serupa, sebenarnya saya pikir bash mengambil kode dari mereka). Anda dapat menampilkan urutan keluar di PROMPT_COMMAND dan itu akan mengatur bilah judul Anda.

Inilah yang saya miliki di tambang (Linux / bash):

USER=$(/usr/bin/id -un)
HOSTNAME=$(uname -n)
HOSTNAME=${HOSTNAME%%.*}
PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME}: $(pwd -P)\a"'

Anda bisa meletakkan ini di ~ / .bashrc Anda

Ada banyak penyesuaian yang dapat Anda lakukan dengan terminal Anda. Saya suka huruf tebal di prompt saya, untuk membuatnya lebih mudah untuk melihat akhir prompt saya. Ini membuatnya tebal kuning, bagus dengan latar belakang hitam standar saya:

PS1="\[\e[33;1m\]\h:\$\[\e[0m\] "

Lihatlah di sekeliling untuk Kustomisasi Prompt Linux, Anda akan menemukan lebih banyak HowTos daripada yang Anda tahu harus melakukan apa. Pilih yang menurut Anda paling mudah dibaca.

Homolka yang kaya
sumber
14

Judul terminal diatur dengan menggunakan urutan pelarian khusus dalam output konsol. Secara default, bash prompt menyertakan urutan pelarian ini dan menetapkan judul ke direktori kerja saat ini.

Jadi, Anda harus mengedit variabel PS1 Anda (sebagian besar waktu itu diatur dalam ~/.bashrc), jika tidak bash akan menimpa judul Anda setiap kali prompt ditampilkan.

Anda kemudian dapat mengatur judul dengan memasukkan yang berikut ini dalam skrip yang dijalankan ketika Anda masuk, misalnya ~/.profile:

echo -e "\033]0;<your string>\007"
jhenninger
sumber
Perhatikan, ini satu-satunya yang menjawab pertanyaan.
Erik Aronesty
Ubah -eke -enjika Anda ingin menghindari baris kosong tambahan yang dihasilkan oleh perintah gema.
ADTC
2

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 berhasil, untuk yang lain tidak. XSEL dan XCLIP tidak dapat diinstal pada server itu.

Jadi, inilah solusinya:

  1. Dapatkan output perintah dalam file.
  2. Gema file itu ke judul.

Pada klien Putty dan server SUSE terlihat seperti ini:

ls /home | grep domagaja > logutoit.txt 
echo -e "\033]0\\;$(cat logutoit.txt)\\007\\c"

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.

Jacek Domagała
sumber