24

Normally, when you load a saved session in PuTTY and connect to it, PuTTY will set the window title to the host name of the system you connected to (plus the string "PuTTY").

Now I have many different sessions that all connect to the same host, but on different ports (because the host runs several SSH tunnels on different ports). Therefore seeing the host name is not very helpful, since it's always the same.

So I'd like PuTTY to show the name of the loaded session in the window title. Is there a way to do this?

The only way I could find is to set the window title manually (Window / Behaviour / Window title). But I believe I'd have to do this manually for each session, which is rather tedious.

  • 1
    Kitty is the best telnet / SSH client (fork of Putty) and You can set window title from command line by "-title" option. – Mareg Jan 3 at 19:38
16

To change the PuTTY SSH session window title (one by one manually by the PuTTY GUI):

For Windows & Debian

  1. Load a session from PuTTY.
  2. On left side tree menu, click on: WindowBehaviour.
  3. On the right panel, in the Window title text box enter your title.
  4. Save the session.

To change the PuTTY SSH session window title (for all sessions by command line):

For Debian 8 (Jessie)

  1. Go to the folder where PuTTY stores sessions: /home/nolwennig/.putty/sessions

    Note: replace nolwennig with your username

  2. Assign to parameter WinTitle the saved session file name for each saved session file with something like this:

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

    It works fine if no WinTitle is recorded

For Windows

  1. PuTTY stores sessions in Windows registry HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    Note: not replace SimonTatham with your username.

  2. You can export this section with a command like this:

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. It must be possible to make a script that updates the putty-registry-sessions.reg file to change the value of WinTitle for each of the saved sessions.


Sources & inspirations:

  • I know I can do that - it's mentioned in my question, along with why I am looking for a different solution. – sleske Dec 31 '15 at 13:34
  • I update my answer with a little script – Nolwennig Jan 4 '16 at 14:09
  • 1
    Neat idea with the script. However, AFAIK, Putty by default stores sessions in the Windows registry. If yours uses files, you are probably using a modified version (though it might still work by exporting/importing the config). Could you mention that in the answer? – sleske Jan 4 '16 at 14:25
  • I'm on Debian8 here, I add the location of Putty sessions storage for Windows in my answer but I can't write/test a script for that now : ( – Nolwennig Jan 4 '16 at 15:54
  • 1
    Oh, right, forgot that PuTTY has a Linux version, too. Anyway, nice answer, thanks. – sleske Jan 5 '16 at 10:30
37

The solution below seems to solve this problem.

1) Go to the aforementioned Window/Behaviour/Window Title setting and put in a title that makes sense to you.

2) Go to the Terminal/Features settings and check off the Disable remote-controlled window title changing box.

Setting 1

Setting 2

  • 4
    While this may answer the question, it's preferable if you can summarise the answer here as links do go dead over time. – Ladadadada May 28 '14 at 10:43
  • 2
    This is the procedure described on that site: In the putty session setup window enable the checkbox labelled "Disable remote-controlled window title changing" found under Terminal->Features. Next give your session window a name via the Window->Behaviour dialog. Enter the title into the textbox labelled "Window title:" – BdN3504 Oct 14 '15 at 14:57
  • 1
    This should be the answer. +1 – Kulasangar Aug 26 '16 at 10:41
  • 3
    This should have been the accepted answer. Without this second point, my title kept resetting itself as soon as I pressed enter key. (host: Windows, remote server: Ubuntu Server 16.04 LTS) – Zeeshan Nov 9 '16 at 17:47
15

This function will set the title of your PuTTY window to the given string:

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

You can use this to set the title from the command line or from scripts, e.g. from within .bashrc.

  • 1
    Why does this work? – Chad May 31 '16 at 22:07
  • Just a little note; You still have to set "Disable remote-controlled window title changing" under Terminal->Features – 244an Oct 22 '16 at 5:40
  • You may want to use printf command instead. – MUY Belgium Feb 14 '17 at 13:28
3

I was looking for how to make window titles stick when using PuTTY with session files.

So in .putty/sessions/ServerX, set a default title and no remote behaviour as:

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

And to give it a special title for some particular purpose, just override the default:

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

The only other route I'm aware of is to use the xterm emulation features to set the title from the system you are logged into (on Red Hat Linux and SUSE Linux, the Bash prompt is written to the titlebar by default).

See this page for a description of the process and the relevant escape sequence.

0

You can use the -loghost "title" option in Windows - it opens PuTTY with the specified title name. It also changes other stuff, so please check if that's not making any other problem for you.

I'm using it with VIRL, and it works perfectly fine.

0

In Windows, this will set the window title of every session to the very same name of the session:

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, this cmd line will set the window title of every session to the very same name of the session itself:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.