LocalCommand が対話的に使用される場合にのみ画面ウィンドウのタイトルを設定するようにしますか?

LocalCommand が対話的に使用される場合にのみ画面ウィンドウのタイトルを設定するようにしますか?

設定

ローカル マシンで screen を実行し、異なる 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ような条件( のチェックに加えて)はありますか?LocalCommandssh()

関連情報