LocalCommandがインタラクティブに使用されているときに画面ウィンドウのタイトルのみを設定しますか?

LocalCommandがインタラクティブに使用されているときに画面ウィンドウのタイトルのみを設定しますか?

設定

私はローカルコンピュータでscreenを実行しており、別の画面ウィンドウを使用して別のホストに接続しています。 sshの実行時に自動的にウィンドウ名をホスト名に変更してくれればいいようです。

方法

次の2つの方法のさまざまなバリエーションを試しました。

1)LocalComandSSH設定ファイルで使用:

Host *
PermitLocalCommand yes
LocalCommand '[ "${TERM:0:6}" == "screen" ] && printf "\ek@%h\e\\"

2) カスタム bash 関数を作成します。

# function to set screen name based on host and reset on exit
function ssh() {
  echo -e '\033k'@$1'\033\\'
  /usr/bin/env ssh -Y "$@"
  echo -e '\033k'local'\033\\'
}

質問

どちらの方法も機能しますが、オートコンプリートなどの機能を妨げているようです。

$ scp user@host:~/.s<tab>
...o^[\\\\   ...cal^[\\\\

質問

$TERM == screenホストに接続したときにのみ実行LocalCommand(または機能)を許可し、オートコンプリートにssh()使用するときは許可しないように、いくつかの条件(ifチェックに加えて)を使用できますか?

ベストアンサー1

おすすめ記事