Bagaimana saya bisa mengatur judul jendela Putty ke nama sesi yang dimuat?

28

Biasanya, ketika Anda memuat sesi yang disimpan di Putty dan terhubung ke sana, Putty akan mengatur judul jendela ke nama host dari sistem yang Anda terhubung (ditambah string "Putty").

Sekarang saya memiliki banyak sesi berbeda yang semuanya terhubung ke host yang sama, tetapi pada port yang berbeda (karena host menjalankan beberapa terowongan SSH pada port yang berbeda). Oleh karena itu melihat nama host tidak terlalu membantu, karena selalu sama.

Jadi saya ingin Putty menunjukkan nama sesi yang dimuat dalam judul jendela. Apakah ada cara untuk melakukan ini?

Satu-satunya cara saya dapat menemukan adalah mengatur judul jendela secara manual (Window / Behavior / Window title). Tapi saya percaya saya harus melakukan ini secara manual untuk setiap sesi, yang agak membosankan.

sleske
sumber
1
Kitty adalah klien telnet / SSH terbaik (fork Putty) dan Anda dapat mengatur judul jendela dari baris perintah dengan opsi "-title".
Mareg

Jawaban:

16

Untuk mengubah judul jendela sesi SST Putty (satu per satu secara manual oleh Putty GUI):

Untuk Windows & Debian

  1. Load sebuah sesi dari Putty.
  2. Di menu pohon sisi kiri, klik pada: WindowBehaviour.
  3. Di panel kanan, di Window titlekotak teks masukkan judul Anda.
  4. Save sesi.

Untuk mengubah judul jendela sesi SST Putty (untuk semua sesi dengan baris perintah):

Untuk Debian 8 (Jessie)

  1. Buka folder tempat Putty menyimpan sesi: /home/nolwennig/.putty/sessions

    Catatan: ganti nolwennig dengan nama pengguna Anda

  2. Tetapkan untuk parameter WinTitlenama file sesi yang disimpan untuk setiap file sesi yang disimpan dengan sesuatu seperti ini:

    find . -type f -exec sed -e 's/^WinTitle=/WinTitle=%f/g' {} \;

    Ini berfungsi dengan baik jika tidak ada WinTitle yang direkam

Untuk Windows

  1. Putty menyimpan sesi dalam registri Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Catatan: jangan ganti SimonTatham dengan nama pengguna Anda.

  2. Anda dapat mengekspor bagian ini dengan perintah seperti ini:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Harus dimungkinkan untuk membuat skrip yang memperbarui putty-registry-sessions.regfile untuk mengubah nilai WinTitle untuk setiap sesi yang disimpan.


Sumber & inspirasi:

Nolwennig
sumber
Saya tahu saya bisa melakukan itu - itu disebutkan dalam pertanyaan saya, bersama dengan mengapa saya mencari solusi yang berbeda.
sleske
Saya memperbarui jawaban saya dengan skrip kecil
Nolwennig
1
Ide rapi dengan skrip. Namun, AFAIK, Putty secara default menyimpan sesi dalam registri Windows. Jika Anda menggunakan file, Anda mungkin menggunakan versi yang dimodifikasi (meskipun mungkin masih berfungsi dengan mengekspor / mengimpor konfigurasi). Bisakah Anda sebutkan itu dalam jawabannya?
sleske
Saya menggunakan Debian8 di sini, saya menambahkan lokasi penyimpanan sesi Putty untuk Windows dalam jawaban saya, tetapi saya tidak dapat menulis / menguji skrip untuk itu sekarang: (
Nolwennig
1
Oh, benar, lupa bahwa Putty memiliki versi Linux juga. Bagaimanapun, jawaban yang bagus, terima kasih.
sleske
44

Solusi di bawah ini tampaknya mengatasi masalah ini.

1) Buka pengaturan Window / Behavior / Window Title tersebut dan masukkan judul yang masuk akal bagi Anda.

2) Buka pengaturan Terminal / Fitur dan centang kotak Nonaktifkan remote control window title berubah.

Pengaturan 1

Pengaturan 2

Andy
sumber
4
Meskipun ini dapat menjawab pertanyaan, lebih baik jika Anda dapat meringkas jawabannya di sini karena tautan mati seiring waktu.
Ladadadada
2
Ini adalah prosedur yang dijelaskan di situs itu: Di jendela pengaturan sesi dempul, aktifkan kotak centang berlabel "Nonaktifkan remote-control window perubahan judul" ditemukan di bawah Terminal-> Fitur. Selanjutnya beri nama jendela sesi Anda melalui dialog Window-> Behavior. Masukkan judul ke dalam kotak teks berlabel "Judul jendela:"
BdN3504
1
Ini seharusnya jawabannya. +1
Kulasangar
3
Ini seharusnya jawaban yang diterima. Tanpa poin kedua ini, judul saya terus mereset sendiri begitu saya menekan tombol enter. (host: Windows, server jauh: Ubuntu Server 16.04 LTS)
Zeeshan
16

Fungsi ini akan mengatur judul jendela Putty Anda ke string yang diberikan:

# Set title
title() {
  echo -ne "\033]0;"$1"\007"
}

Anda dapat menggunakan ini untuk mengatur judul dari baris perintah atau dari skrip, misalnya dari dalam .bashrc.

Thomas Stuefe
sumber
1
Mengapa ini bekerja?
Chad
Hanya sedikit catatan; Anda masih harus mengatur di "Disable remote-controlled window title changing"bawahTerminal->Features
244an
Anda mungkin ingin menggunakan printfperintah sebagai gantinya.
MUY Belgium
Mengapa ini bekerja? : ESC ] 0 ; txt STAtur nama ikon dan judul jendela ke txt.
Koshinae
3

Saya sedang mencari cara membuat judul jendela tetap ketika menggunakan Putty dengan file sesi.

Jadi .putty/sessions/ServerX, setel judul default dan tidak ada perilaku jauh sebagai:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

Dan untuk memberikan judul khusus untuk beberapa tujuan tertentu, cukup timpa default:

putty -load .putty/sessions/ServerX -title "ServerX:/var/log/messages"
DCG
sumber
2

Satu-satunya rute lain yang saya ketahui adalah menggunakan fitur emulasi xterm untuk mengatur judul dari sistem yang Anda masuki (di Red Hat Linux dan SUSE Linux, Bash prompt secara default ditulis ke batang judul).

Lihat halaman ini untuk deskripsi proses dan urutan pelarian yang relevan.

symcbean
sumber
Saya menemukannya dalam versi Prancis: traduc.org/Guides_pratiques/Suivi/Xterm-Title/Document
Nolwennig
0

Anda dapat menggunakan -loghost "title"opsi di Windows - ini membuka Putty dengan nama judul yang ditentukan . Itu juga mengubah hal-hal lain, jadi silakan periksa apakah itu tidak membuat masalah lain untuk Anda.

Saya menggunakannya dengan VIRL, dan berfungsi dengan baik.

Marceli
sumber
0

Di Windows, ini akan mengatur judul jendela setiap sesi dengan nama sesi yang sama:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f
pengguna517940
sumber
-1

Di Windows, baris cmd ini akan mengatur judul jendela setiap sesi dengan nama yang sama dari sesi itu sendiri:

FOR /F "tokens=6 delims=\" %i IN ('reg query HKCU\Software\Simontatham\PuTTY\Sessions') DO reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_SZ /v WinTitle /d %i /f & reg add HKCU\Software\Simontatham\PuTTY\Sessions\%i /t REG_DWORD /v NoRemoteWinTitle /d 1 /f
Giuseppe Costanzo
sumber