Wie kann ich den Fenstertitel von PuTTY auf den Namen der geladenen Sitzung setzen?

28

Normalerweise setzt PuTTY beim Laden einer gespeicherten Sitzung in PuTTY und beim Herstellen einer Verbindung den Fenstertitel auf den Hostnamen des Systems, mit dem Sie verbunden sind (plus der Zeichenfolge "PuTTY").

Jetzt habe ich viele verschiedene Sitzungen, die alle mit demselben Host verbunden sind, aber auf verschiedenen Ports (da der Host mehrere SSH-Tunnel auf verschiedenen Ports ausführt). Daher ist es nicht sehr hilfreich, den Hostnamen zu sehen, da er immer derselbe ist.

Deshalb möchte ich, dass PuTTY den Namen der geladenen Sitzung im Fenstertitel anzeigt. Gibt es eine Möglichkeit, dies zu tun?

Die einzige Möglichkeit, die ich finden konnte, besteht darin, den Fenstertitel manuell festzulegen (Fenster / Verhalten / Fenstertitel). Aber ich glaube, ich müsste das für jede Sitzung manuell machen, was ziemlich mühsam ist.

sleske
quelle
1
Kitty ist der beste Telnet / SSH-Client (Fork of Putty) und Sie können den Fenstertitel über die Befehlszeile mit der Option "-title" festlegen.
3.

Antworten:

16

So ändern Sie den Titel des PuTTY SSH-Sitzungsfensters (einzeln manuell über die PuTTY-GUI):

Für Windows & Debian

  1. Load eine Session von PuTTY.
  2. Klicken Sie im linken Baummenü auf: WindowBehaviour.
  3. Geben Sie im rechten Bereich in das Window titleTextfeld Ihren Titel ein.
  4. Save die Sitzung.

So ändern Sie den Titel des PuTTY SSH-Sitzungsfensters (für alle Sitzungen über die Befehlszeile):

Für Debian 8 (Jessie)

  1. Gehen Sie zu dem Ordner, in dem PuTTY Sitzungen speichert: /home/nolwennig/.putty/sessions

    Hinweis: Ersetzen Sie nolwennig durch Ihren Benutzernamen

  2. Weisen Sie WinTitleden Namen der gespeicherten Sitzungsdatei für jede gespeicherte Sitzungsdatei folgendermaßen zu:

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

    Es funktioniert einwandfrei, wenn kein WinTitle aufgezeichnet ist

Für Windows

  1. PuTTY speichert Sitzungen in der Windows-Registrierung HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Hinweis: nicht durch Ihren Benutzernamen ersetzen SimonTatham .

  2. Sie können diesen Abschnitt mit einem Befehl wie dem folgenden exportieren:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Es muss möglich sein, ein Skript zu putty-registry-sessions.regerstellen, das die Datei aktualisiert , um den Wert von WinTitle für jede der gespeicherten Sitzungen zu ändern.


Quellen & Inspirationen:

Nolwennig
quelle
Ich weiß, dass ich das kann - es wird in meiner Frage erwähnt, zusammen mit dem Grund, warum ich nach einer anderen Lösung suche.
Sleske
Ich aktualisiere meine Antwort mit einem kleinen Skript
Nolwennig
1
Gute Idee mit dem Drehbuch. AFAIK, Putty speichert Sitzungen jedoch standardmäßig in der Windows-Registrierung. Wenn Ihre Dateien verwendet, verwenden Sie wahrscheinlich eine geänderte Version (obwohl dies möglicherweise weiterhin funktioniert, wenn Sie die Konfiguration exportieren / importieren). Könnten Sie das in der Antwort erwähnen?
sleske
Ich bin auf Debian8 hier, ich füge den Speicherort von Putty-Sessions für Windows in meine Antwort ein, aber ich kann dafür jetzt kein Skript schreiben / testen: (
Nolwennig
1
Oh, richtig, ich habe vergessen, dass PuTTY auch eine Linux-Version hat. Trotzdem, nette Antwort, danke.
sleske
44

Die folgende Lösung scheint dieses Problem zu lösen.

1) Gehen Sie zur oben genannten Einstellung Fenster / Verhalten / Fenstertitel und geben Sie einen für Sie sinnvollen Titel ein.

2) Gehen Sie zu den Einstellungen für Terminal / Funktionen und deaktivieren Sie das Kontrollkästchen Titeländerung für ferngesteuertes Fenster deaktivieren.

Einstellung 1

Einstellung 2

Andy
quelle
4
Während dies die Frage beantworten kann, ist es vorzuziehen, wenn Sie die Antwort hier zusammenfassen, da Links im Laufe der Zeit nicht mehr funktionieren.
Ladadadada
2
Dies ist die auf dieser Site beschriebene Prozedur: Aktivieren Sie im Fenster zum Einrichten der Putty-Sitzung das Kontrollkästchen "Ferngesteuertes Ändern des Fenstertitels deaktivieren" unter Terminal-> Funktionen. Geben Sie Ihrem Sitzungsfenster im Dialogfeld Fenster-> Verhalten einen Namen. Geben Sie den Titel in das Textfeld "Fenstertitel:" ein
BdN3504
1
Das sollte die Antwort sein. +1
Kulasangar
3
Dies hätte die akzeptierte Antwort sein sollen. Ohne diesen zweiten Punkt wurde mein Titel automatisch zurückgesetzt, sobald ich die Eingabetaste drückte. (Host: Windows, Remote - Server: Ubuntu Server 16.04 LTS)
Zeeshan
16

Diese Funktion setzt den Titel Ihres PuTTY-Fensters auf den angegebenen String:

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

Hiermit können Sie den Titel über die Befehlszeile oder über Skripte festlegen, z. B. aus .bashrc.

Thomas Stuefe
quelle
1
Warum funktioniert das?
Tschad,
Nur eine kleine Notiz; Sie müssen noch "Disable remote-controlled window title changing"unterTerminal->Features
244an 22.10.16
Möglicherweise möchten Sie printfstattdessen den Befehl verwenden.
MUY Belgium
Warum funktioniert das? : ESC ] 0 ; txt STStellen Sie den Symbolnamen und den Fenstertitel auf txt ein.
Koshinae
3

Ich wollte wissen, wie Fenstertitel bei der Verwendung von PuTTY mit Sitzungsdateien haften bleiben.

Legen Sie also .putty/sessions/ServerXeinen Standardtitel und kein Remote-Verhalten fest als:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

Um einen bestimmten Titel für einen bestimmten Zweck zu vergeben, überschreiben Sie einfach die Standardeinstellung:

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

Der einzige andere Weg, den ich kenne, ist die Verwendung der xterm-Emulationsfunktionen, um den Titel auf dem System festzulegen, auf dem Sie angemeldet sind (unter Red Hat Linux und SUSE Linux wird die Bash-Eingabeaufforderung standardmäßig in die Titelleiste geschrieben).

Auf dieser Seite finden Sie eine Beschreibung des Prozesses und der entsprechenden Escape-Sequenz.

symcbean
quelle
Ich fand es in französischer Version: traduc.org/Guides_pratiques/Suivi/Xterm-Title/Document
Nolwennig
0

Sie können die -loghost "title"Option in Windows verwenden - sie öffnet PuTTY mit dem angegebenen Titelnamen . Es ändert auch andere Dinge, also überprüfen Sie bitte, ob dies kein anderes Problem für Sie darstellt.

Ich benutze es mit VIRL und es funktioniert einwandfrei.

Marceli
quelle
0

In Windows wird der Fenstertitel jeder Sitzung auf den gleichen Namen der Sitzung festgelegt:

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
user517940
quelle
-1

In Windows wird in dieser Cmd-Zeile der Fenstertitel jeder Sitzung auf den gleichen Namen wie die Sitzung selbst festgelegt:

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
quelle