新しいウィンドウを作成するたびgnu screen
に、通常は切断後も永続的な名前を指定しますが、ウィンドウでコマンドを実行すると、タイトル割り当てがリセットされるoh-my-zsh
ことを確認しました。zsh
デフォルトでは、ウィンドウ番号がある場所にリセットされます(x* ~)
。x
さらに、そのウィンドウのリモートセッションでコマンドを実行したときにリモートシェルを使用できる場合は、ローカル設定のタイトルがリモートウィンドウで実行されているコマンドに変更されますzsh
。ではこれは起こりませんbash
。
たとえば、画面にasというタイトルの新しいウィンドウを作成して(2* ~)
からasuser@remotehost
に接続したいので、タイトルをに設定するとします。 connectを実行すると、ヘッダーがに戻ります。実行すると、ヘッダーが望ましくない方法で変更されます。remotehost
user
ssh user@remotehost
remotehost
(2* ~)
remotehost
htop
htop
別のセッションに接続していても、リモートウィンドウzsh
コマンドをローカルウィンドウタイトルに伝播するようです。zsh
以前はこれが起こらなかったため、以下でのみ発生するようですbash
。以前の動作を設定zsh
または上書きできる項目はありますか?切り替えて変更したoh-my-zsh
のではなく、ここにあります。.screenrc
zsh
# got a fancy hardstatus line noted below
hardstatus on
hardstatus alwayslastline
# hardstatus string "%w"
# blagged this hardstatus like from https://bbs.archlinux.org/viewtopic.php?id=55618, not quite sure what it does
# extended from http://unix.stackexchange.com/questions/195209 and , uptime command disabled
# http://www.gnu.org/software/screen/manual/html_node/String-Escapes.html#String-Escapes
hardstatus string '%{= kG}%{C}Screen:%{Rk}Host:%H %1`%{c}%{= kG}[%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{C} %d-%m %{W}%c %{g}]'
backtick 1 30 30 sh -c 'screen -ls | grep --color=no -o "$PPID[^[:space:]]*" | cut -d '.' -f 2'
# backtick 2 60 60 /usr/bin/uptime
ベストアンサー1
.zshrc
次の行のコメントを削除して無効にできます。
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
これは機能omz_termsupport_precmd
とomz_termsupport_preexec
場所に適用されます。~/.oh-my-zsh/lib/termsupport.zsh