Jak ustawić tytuł okna PuTTY na nazwę załadowanej sesji?

28

Zwykle po załadowaniu zapisanej sesji w PuTTY i połączeniu się z nią, PuTTY ustawi tytuł okna na nazwę hosta systemu, z którym się łączyłeś (plus ciąg „PuTTY”).

Teraz mam wiele różnych sesji, z których wszystkie łączą się z tym samym hostem, ale na różnych portach (ponieważ host obsługuje kilka tuneli SSH na różnych portach). Dlatego wyświetlenie nazwy hosta nie jest zbyt pomocne, ponieważ zawsze jest takie samo.

Dlatego chciałbym, aby PuTTY wyświetlał nazwę załadowanej sesji w tytule okna. Czy jest na to sposób?

Jedynym sposobem, jaki mogłem znaleźć, jest ręczne ustawienie tytułu okna (Window / Behavior / Window name). Uważam jednak, że musiałbym to zrobić ręcznie dla każdej sesji, co jest dość nużące.

Śleske
źródło
1
Kitty jest najlepszym klientem telnet / SSH (rozwidlenie Putty). Możesz ustawić tytuł okna z linii poleceń za pomocą opcji „-title”.
Mareg

Odpowiedzi:

16

Aby zmienić tytuł okna sesji PuTTY SSH (ręcznie jeden po drugim przez GUI PuTTY):

Dla Windows i Debiana

  1. Load sesja z PuTTY.
  2. W menu drzewa po lewej stronie kliknij: WindowBehaviour.
  3. Na prawym panelu w polu Window titletekstowym wpisz swój tytuł.
  4. Save sesja.

Aby zmienić tytuł okna sesji PuTTY SSH (dla wszystkich sesji według wiersza poleceń):

Dla Debian 8 (Jessie)

  1. Przejdź do folderu, w którym PuTTY przechowuje sesje: /home/nolwennig/.putty/sessions

    Uwaga: zastąp nolwennig swoją nazwą użytkownika

  2. Przypisz do parametru WinTitlenazwę zapisanego pliku sesji dla każdego zapisanego pliku sesji za pomocą czegoś takiego:

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

    Działa dobrze, jeśli nie zapisano żadnego WinTitle

Dla Windowsa

  1. PuTTY przechowuje sesje w rejestrze Windows HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Uwaga: nie zastępuj SimonTatham swoją nazwą użytkownika.

  2. Możesz wyeksportować tę sekcję za pomocą następującego polecenia:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. Musi istnieć możliwość wykonania skryptu, który aktualizuje putty-registry-sessions.regplik, aby zmienić wartość WinTitle dla każdej zapisanej sesji.


Źródła i inspiracje:

Nolwennig
źródło
Wiem, że mogę to zrobić - jest to wspomniane w moim pytaniu wraz z tym, dlaczego szukam innego rozwiązania.
sleske
Aktualizuję swoją odpowiedź małym skryptem
Nolwennig
1
Świetny pomysł ze skryptem. Jednak AFAIK, Putty domyślnie przechowuje sesje w rejestrze Windows. Jeśli używasz plików, prawdopodobnie używasz zmodyfikowanej wersji (choć może nadal działać, eksportując / importując konfigurację). Czy mógłbyś wspomnieć o tym w odpowiedzi?
śleske
Jestem tutaj na Debian8, dodaję miejsce przechowywania sesji Putty dla Windows w mojej odpowiedzi, ale nie mogę teraz napisać / przetestować skryptu dla tego: (
Nolwennig
1
No tak, zapomniałem, że PuTTY ma również wersję Linux. W każdym razie fajna odpowiedź, dzięki.
śleske,
44

Poniższe rozwiązanie wydaje się rozwiązać ten problem.

1) Przejdź do wyżej wymienionego ustawienia okna / zachowania / tytułu okna i umieść tytuł, który ma dla ciebie sens.

2) Przejdź do ustawień terminala / funkcji i odznacz pole Wyłącz zdalnie sterowaną zmianę tytułu okna.

Ustawienie 1

Ustawienie 2

Andy
źródło
4
Chociaż może to odpowiedzieć na pytanie, lepiej jest streścić odpowiedź tutaj, ponieważ linki z czasem zanikają.
Ladadadada
2
Jest to procedura opisana na tej stronie: W oknie konfiguracji sesji kitu zaznacz pole wyboru „Wyłącz zdalnie sterowane zmienianie tytułu okna” znajdujące się w Terminal-> Funkcje. Następnie nadaj swojemu okno sesji nazwę poprzez okno Okno-> Zachowanie. Wpisz tytuł w polu tekstowym oznaczonym „Tytuł okna:”
BdN3504,
1
To powinna być odpowiedź. +1
Kulasangar
3
To powinna być zaakceptowana odpowiedź. Bez tego drugiego punktu mój tytuł zaczął się resetować, gdy tylko nacisnąłem klawisz Enter. (host: Windows, zdalny serwer: Ubuntu Server 16.04 LTS)
Zeeshan,
16

Ta funkcja ustawi tytuł okna PuTTY na podany ciąg:

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

Możesz użyć tego do ustawienia tytułu z wiersza poleceń lub ze skryptów, np. Z .bashrc.

Thomas Stuefe
źródło
1
Dlaczego to działa?
Czad
Tylko mała uwaga; Nadal trzeba ustawić "Disable remote-controlled window title changing"podTerminal->Features
244an
Zamiast tego możesz użyć printfpolecenia.
MUY Belgia
Dlaczego to działa? : ESC ] 0 ; txt STUstaw nazwę ikony i tytuł okna na txt.
Koshinae
3

Szukałem sposobu na przyklejenie tytułów okien podczas korzystania z PuTTY z plikami sesji.

Więc .putty/sessions/ServerXustaw domyślny tytuł i brak zdalnego działania jako:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

Aby nadać mu specjalny tytuł do określonego celu, po prostu zastąp domyślny:

putty -load .putty/sessions/ServerX -title "ServerX:/var/log/messages"
DCG
źródło
2

Jedyną inną drogą, o której wiem, jest użycie funkcji emulacji xterm do ustawienia tytułu z systemu, w którym jesteś zalogowany (w systemach Red Hat Linux i SUSE Linux domyślnie monit Bash jest zapisywany na pasku tytułu).

Zobacz tę stronę, aby uzyskać opis procesu i odpowiednią sekwencję zmiany znaczenia.

symcbean
źródło
Znalazłem go w wersji francuskiej: traduc.org/Guides_pratiques/Suivi/Xterm-Title/Document
Nolwennig
0

Możesz skorzystać z -loghost "title"opcji w systemie Windows - otwiera PuTTY z podaną nazwą tytułu . Zmienia także inne rzeczy, więc sprawdź, czy nie stanowi to dla ciebie innego problemu.

Używam go z VIRL i działa idealnie dobrze.

Marceli
źródło
0

W systemie Windows spowoduje to ustawienie nazwy okna każdej sesji na tę samą nazwę:

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
użytkownik517940
źródło
-1

W systemie Windows ta linia cmd ustawi tytuł okna każdej sesji na tę samą nazwę samej sesji:

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
źródło