答え1
これを達成する1つの方法はLocalCommand
関数を使用することですssh
。この方法では、リモートホストに正常に接続した後に端末のタイトルを変更するために使用されるエスケープ文字列が印刷されます。
~/.ssh/config
以下を含めるように編集または作成します。
Host *
PermitLocalCommand yes
LocalCommand printf '\033]0;%%s\007' '%h'
この方法の欠点は、リモートサーバーからログアウトしてもヘッダーが変更されたままになることです。次の方法でこの問題を解決できます。
printf '\033]0;%s\007' "$(uname -n)"
これを自動化するには、次の機能を使用できます。
lssh () {
/path/to/ssh "$@"
printf '\033]0;%s\007' "$(uname -n)"
}
この回答は、端末エミュレータが次のものを使用していると仮定しています。同じエスケープシーケンスXTermで。そうでない場合は、特定の端末エミュレータのマニュアルを確認する必要があります。
GNU画面では、単一の端末ウィンドウに複数の仮想ウィンドウを含めることができることに注意してください。この場合、別のエスケープシーケンス(\033k%s\033\\
)を使用して単一の仮想ウィンドウの内部タイトルを設定できます。