Linux から PuTTY のタイトル バーに表示される内容を選択するにはどうすればよいですか?

Linux から PuTTY のタイトル バーに表示される内容を選択するにはどうすればよいですか?

PuTTYの設定では、ターミナル→機能にオプションがあります。リモート制御によるウィンドウタイトルの変更を無効にするこれを有効にしないと、コンソールでリターンキーを押すたびに PuTTY のタイトル バーが変わります。

手元にあるすべての PuTTY クライアントにタイトル バーのテキストを指定するよりも、Linux からタイトル バーのテキストを設定する方がクリーンな解決策になると考えていました。では、Linux がウィンドウ タイトルとして設定するものをどこで変更できるのでしょうか。


$ uname -a
Linux drevo 2.6.32-5-amd64 #1 SMP 月曜日 1月 16 16:22:28 UTC 2012 x86_64 GNU/Linux

$ cat /etc/debian_version
6.0.4

答え1

ほとんどのターミナル プログラム (konsole、putty、xterm など) は、古い VT100 ターミナルをエミュレートします。このターミナルでは、エスケープ シーケンスと呼ばれる特殊な文字シーケンスを使用して、太字、色、ターミナル タイトルの設定など、特定の設定を行うことができます。

bash シェルには PROMPT_COMMAND という変数があり、これが設定されていると、出力されるすべてのプロンプトの前に評価されます (zsh にも同様の変数があると思います。実際、bash はそこからコードを取得しました)。PROMPT_COMMAND でエスケープ シーケンスを出力すると、タイトル バーが設定されます。

私の場合は次のようになっています (Linux/bash):

USER=$(/usr/bin/id -un)
HOSTNAME=$(uname -n)
HOSTNAME=${HOSTNAME%%.*}
PROMPT_COMMAND='echo -ne "\e]0;$USER@${HOSTNAME}: $(pwd -P)\a"'

これを~/.bashrcに書き込むことができます

ターミナルでは、さまざまなカスタマイズを行うことができます。プロンプトの末尾が見やすくなるように、プロンプトを太字にするのが好きです。これにより、プロンプトが太字の黄色になり、デフォルトの黒い背景に適しています。

PS1="\[\e[33;1m\]\h:\$\[\e[0m\] "

Linux プロンプトのカスタマイズについて調べてみると、何をすればよいかわからないほど多くの HowTo が見つかります。最も読みやすいものを選んでください。

答え2

ターミナルのタイトルは、コンソール出力で特殊なエスケープ シーケンスを使用して設定されます。デフォルトでは、bash プロンプトにはこれらのエスケープ シーケンスが含まれており、タイトルは現在の作業ディレクトリに設定されます。

したがって、PS1 変数 (ほとんどの場合~/.bashrc) を編集する必要があります。編集しないと、プロンプトが表示されるたびに bash によってタイトルが上書きされます。

ログイン時に実行されるスクリプトに次のコードを追加してタイトルを設定できます。例~/.profile:

echo -e "\033]0;<your string>\007"

答え3

多くのフォーラムを検索しましたが、質問に対する答えが見つかりません:
すべてのコマンド出力を Putty タイトルに取得するにはどうすればよいですか?

他のプログラムが、サーバー上のジョブがいつ完了したか、また、正しく完了したか、間違って完了したかを知るために必要でした。Plink の stdout と stdin は機能していませんでした。待機遅延の調整を何度も行いました。一部のコマンドは機能しましたが、他のコマンドは機能しませんでした。XSEL と XCLIP はそのサーバーにインストールできませんでした。

解決策は次のとおりです。

  1. コマンド出力をファイルで取得します。
  2. そのファイルをタイトルにエコーします。

Putty クライアントと SUSE サーバーでは次のようになります。

ls /home | grep domagaja > logutoit.txt 
echo -e "\033]0\\;$(cat logutoit.txt)\\007\\c"

誰かがこれを使えるようになることを願っています。もちろん、すべてのサーバー タイプと Putty クライアント設定で機能するわけではありませんが、アイデアはうまく機能するはずです。

関連情報