PuTTYのウィンドウタイトルを、ロードされたセッションの名前に設定するにはどうすればよいですか?


28

通常、保存されたセッションをPuTTYにロードして接続すると、PuTTYは接続したシステムのホスト名(および文字列「PuTTY」)にウィンドウタイトルを設定します。

今、私はすべてが同じホストに接続する多くの異なるセッションを持っていますが、異なるポートで(ホストは異なるポートで複数のSSHトンネルを実行するため)したがって、ホスト名は常に同じであるため、ホスト名を表示してもあまり役に立ちません。

そのため、PuTTYには、ロードされたセッションの名前をウィンドウタイトルに表示したいと思います。これを行う方法はありますか?

私が見つけることができる唯一の方法は、ウィンドウのタイトルを手動で設定することです(ウィンドウ/動作/ウィンドウのタイトル)。しかし、セッションごとにこれを手動で行う必要があり、かなり面倒です。


1
Kittyは最高のtelnet / SSHクライアント(Puttyのフォーク)であり、「-title」オプションを使用してコマンドラインからウィンドウタイトルを設定できます。
マレグ

回答:


16

PuTTY SSHセッションウィンドウのタイトルを変更するには(PuTTY GUIで手動で1つずつ):

WindowsおよびDebianの場合

  1. Load PuTTYからのセッション。
  2. 左側のツリーメニューで、Window→をクリックしますBehaviour
  3. 右側のパネルのWindow titleテキストボックスにタイトルを入力します。
  4. Save セッション。

PuTTY SSHセッションウィンドウのタイトルを変更するには(コマンドラインによるすべてのセッション):

Debian 8(Jessie)の場合

  1. PuTTYがセッションを保存するフォルダーに移動します。 /home/nolwennig/.putty/sessions

    注: ユーザー名に置き換えnolwennig てください

  2. WinTitle次のようなものを使用して、各保存済みセッションファイルの保存済みセッションファイル名をパラメーターに割り当てます。

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

    WinTitleが記録されていない場合は正常に動作します

Windowsの場合

  1. PuTTYはセッションをWindowsレジストリに保存します HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions

    注: ユーザー名に置き換えないSimonTatham でください。

  2. 次のようなコマンドを使用して、このセクションをエクスポートできます。

    C:> regedit /e "%userprofile%\desktop\putty-registry-sessions.reg" HKEY_CURRENT_USER\Software\Simontatham\PuTTY\Sessions
    
  3. putty-registry-sessions.regファイルを更新して、保存された各セッションのWinTitleの値を変更するスクリプトを作成できる必要があります。


ソースとインスピレーション:


私はそれができることを知っています-それは私の質問で言及されており、なぜ別の解決策を探しているのかと一緒に。
sleske

私は小さなスクリプトで答えを更新します
-Nolwennig

1
スクリプトを使用したきちんとしたアイデア。ただし、デフォルトでは、PuttyはWindowsレジストリにセッションを保存します。ファイルを使用している場合は、おそらく修正バージョンを使用しています(ただし、構成をエクスポート/インポートすることで機能する場合があります)。答えでそれを言及してもらえますか?
-sleske

私は、私は私の答えでWindowsのPuTTYセッションストレージの場所を追加するが、私は今、そのための書き込み/テストスクリプトではありませんが、ここではDebian8上だ:(
Nolwennig

1
ああ、そうです、PuTTYにもLinuxバージョンがあることを忘れていました。とにかく、いい答え、ありがとう。
-sleske

44

以下の解決策はこの問題を解決するようです。

1)前述のWindow / Behaviour / Window Title設定に移動し、あなたにとって意味のあるタイトルを入力します。

2)[ターミナル/機能]設定に移動し、[ リモート制御ウィンドウのタイトル変更を無効にする]ボックスをオフにします。

設定1

設定2


4
これで質問に答えることができますが、時間の経過とともにリンクが機能しなくなるので、ここで答えを要約できれば望ましいです。
ラダダダダ

2
これはそのサイトで説明されている手順です。パテセッションのセットアップウィンドウで、[ターミナル]-> [機能]の下にある[リモートコントロールウィンドウのタイトル変更を無効にする]チェックボックスをオンにします。次に、Window-> Behaviourダイアログを使用して、セッションウィンドウに名前を付けます。「ウィンドウのタイトル:」というラベルの付いたテキストボックスにタイトルを入力します
BdN3504

1
これが答えです。+1
クラサンガー

3
これは受け入れられた答えであるべきでした。この2番目のポイントがなければ、Enterキーを押すとすぐにタイトルがリセットされ続けました。(ホスト:Windows、リモートサーバー:Ubuntu Server 16.04 LTS)
-Zeeshan

16

この関数は、PuTTYウィンドウのタイトルを指定された文字列に設定します。

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

これを使用して、コマンドラインまたはスクリプト(たとえば.bashrc内)からタイトルを設定できます。


1
なぜこれが機能するのですか?
チャド

ちょっとした注意。あなたはまだ設定する必要があります"Disable remote-controlled window title changing"Terminal->Features
244an

printf代わりにコマンドを使用することもできます。
MUYベルギー

なぜこれが機能するのですか?:ESC ] 0 ; txt STアイコン名とウィンドウタイトルをtxtに設定します。
shin科

3

セッションファイルでPuTTYを使用するときに、ウィンドウタイトルを固定する方法を探していました。

そのため.putty/sessions/ServerX、でデフォルトのタイトルを設定し、リモートの動作を次のように設定しません。

NoRemoteWinTitle=1
WinTitle=Welcome to ServerX

特定の目的のために特別なタイトルを付けるには、デフォルトをオーバーライドするだけです:

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

2

私が知っている他の唯一のルートは、xtermエミュレーション機能を使用して、ログインしているシステムからタイトルを設定することです(Red Hat LinuxおよびSUSE Linuxでは、デフォルトでBashプロンプトがタイトルバーに書き込まれます)。

プロセスと関連するエスケープシーケンスの説明については、このページを参照してください



0

-loghost "title"Windowsでオプションを使用できます-指定されたタイトル名でPuTTYを開きます。また、他の要素も変更されるため、他の問題が発生していないかどうかを確認してください。

VIRLで使用していますが、完全に正常に動作します。


0

Windowsでは、これにより、すべてのセッションのウィンドウタイトルがセッションのまったく同じ名前に設定されます。

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

Windowsでは、次のcmd行により、すべてのセッションのウィンドウタイトルがセッション自体とまったく同じ名前に設定されます。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.