Come posso impostare il titolo della finestra di PuTTY sul nome della sessione caricata?


28

Normalmente, quando carichi una sessione salvata in PuTTY e ti connetti ad essa, PuTTY imposterà il titolo della finestra sul nome host del sistema a cui ti sei connesso (più la stringa "PuTTY").

Ora ho molte sessioni diverse che si collegano tutte allo stesso host, ma su porte diverse (perché l'host esegue diversi tunnel SSH su porte diverse). Pertanto, vedere il nome host non è molto utile, poiché è sempre lo stesso.

Quindi vorrei che PuTTY mostrasse il nome della sessione caricata nel titolo della finestra. C'è un modo per fare questo?

L'unico modo che ho trovato è impostare manualmente il titolo della finestra (Finestra / Comportamento / Titolo della finestra). Ma credo che dovrei farlo manualmente per ogni sessione, il che è piuttosto noioso.


1
Kitty è il miglior client telnet / SSH (fork di Putty) e puoi impostare il titolo della finestra dalla riga di comando con l'opzione "-title".
Mareg,

Risposte:


16

Per modificare il titolo della finestra della sessione SSH PuTTY (uno alla volta manualmente dalla GUI PuTTY):

Per Windows e Debian

  1. Load una sessione da PuTTY.
  2. Nel menu ad albero sul lato sinistro, fare clic su: WindowBehaviour.
  3. Nel pannello di destra, nella Window titlecasella di testo inserisci il tuo titolo.
  4. Save la sessione.

Per modificare il titolo della finestra della sessione SSH PuTTY (per tutte le sessioni dalla riga di comando):

Per Debian 8 (Jessie)

  1. Vai alla cartella in cui PuTTY memorizza le sessioni: /home/nolwennig/.putty/sessions

    Nota: sostituisci nolwennig con il tuo nome utente

  2. Assegna al parametro WinTitleil nome del file di sessione salvato per ciascun file di sessione salvato con qualcosa del genere:

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

    Funziona bene se non viene registrato WinTitle

Per Windows

  1. PuTTY memorizza le sessioni nel registro di Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Nota: non sostituire SimonTatham con il tuo nome utente.

  2. Puoi esportare questa sezione con un comando come questo:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Deve essere possibile creare uno script che aggiorni il putty-registry-sessions.regfile per modificare il valore di WinTitle per ciascuna delle sessioni salvate.


Fonti e ispirazioni:


So di poterlo fare - è menzionato nella mia domanda, insieme al motivo per cui sto cercando una soluzione diversa.
sleske,

Aggiornamento la mia risposta con un piccolo copione
Nolwennig,

1
Idea chiara con la sceneggiatura. Tuttavia, AFAIK, Putty per impostazione predefinita memorizza le sessioni nel registro di Windows. Se il tuo utilizza file, probabilmente stai utilizzando una versione modificata (anche se potrebbe comunque funzionare esportando / importando la configurazione). Potresti menzionarlo nella risposta?
sleske,

Sono su Debian8 qui, aggiungo la posizione dell'archiviazione delle sessioni Putty per Windows nella mia risposta, ma non posso scrivere / testare uno script per questo ora: (
Nolwennig

1
Oh, giusto, ho dimenticato che PuTTY ha anche una versione Linux. Comunque, bella risposta, grazie.
sleske,

44

La soluzione seguente sembra risolvere questo problema.

1) Vai alle suddette impostazioni Finestra / Comportamento / Titolo finestra e inserisci un titolo che abbia senso per te.

2) Vai alle impostazioni Terminale / Funzioni e seleziona la casella Disabilita modifica del titolo della finestra telecomandata .

Impostazione 1

Impostazione 2


4
Anche se questo può rispondere alla domanda, è preferibile che tu possa riassumere la risposta qui poiché i collegamenti si interrompono nel tempo.
Ladadadada,

2
Questa è la procedura descritta su quel sito: Nella finestra di configurazione della sessione putty abilita la casella di controllo "Disabilita modifica del titolo della finestra telecomandata" che si trova in Terminale-> Funzionalità. Quindi dai un nome alla tua finestra della sessione tramite la finestra di dialogo Finestra-> Comportamento. Inserisci il titolo nella casella di testo "Titolo finestra:"
BdN3504

1
Questa dovrebbe essere la risposta. +1
Kulasangar,

3
Questa avrebbe dovuto essere la risposta accettata. Senza questo secondo punto, il mio titolo ha continuato a resettarsi non appena ho premuto il tasto Invio. (host: Windows, server remoto: Ubuntu Server 16.04 LTS)
Zeeshan

16

Questa funzione imposta il titolo della finestra PuTTY sulla stringa specificata:

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

Puoi usarlo per impostare il titolo dalla riga di comando o dagli script, ad esempio dall'interno di .bashrc.


1
Perché funziona?
Ciad

Solo una piccola nota; Devi ancora impostare "Disable remote-controlled window title changing"sottoTerminal->Features
244an il

Si consiglia di utilizzare printfinvece il comando.
MUY Belgio,

Perché funziona? : ESC ] 0 ; txt STImposta il nome dell'icona e il titolo della finestra su txt.
Koshinae,

3

Stavo cercando come incollare i titoli delle finestre quando si utilizza PuTTY con i file di sessione.

Quindi .putty/sessions/ServerX, imposta un titolo predefinito e nessun comportamento remoto come:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

E per assegnargli un titolo speciale per uno scopo particolare, basta sostituire l'impostazione predefinita:

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

2

L'unica altra strada di cui sono a conoscenza è l'uso delle funzionalità di emulazione xterm per impostare il titolo dal sistema in cui si è effettuato l'accesso (su Red Hat Linux e SUSE Linux, il prompt di Bash è scritto nella barra del titolo per impostazione predefinita).

Vedi questa pagina per una descrizione del processo e la relativa sequenza di escape.



0

Puoi usare l' -loghost "title"opzione in Windows: apre PuTTY con il nome del titolo specificato . Cambia anche altre cose, quindi per favore controlla se non sta causando altri problemi per te.

Lo sto usando con VIRL e funziona perfettamente.


0

In Windows, questo imposterà il titolo della finestra di ogni sessione con lo stesso nome della sessione:

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

-1

In Windows, questa riga cmd imposterà il titolo della finestra di ogni sessione con lo stesso nome della sessione stessa:

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.