zsh(oh-my-zsh)がスクリーンウィンドウのタイトルをリセットするのを止める方法は?

zsh(oh-my-zsh)がスクリーンウィンドウのタイトルをリセットするのを止める方法は?

新しいウィンドウを作成するたびgnu screenに、通常は切断後も永続的な名前を指定しますが、ウィンドウでコマンドを実行すると、タイトル割り当てがリセットされるoh-my-zshことを確認しました。zshデフォルトでは、ウィンドウ番号がある場所にリセットされます(x* ~)x

さらに、そのウィンドウのリモートセッションでコマンドを実行したときにリモートシェルを使用できる場合は、ローカル設定のタイトルがリモートウィンドウで実行されているコマンドに変更されますzsh。ではこれは起こりませんbash

たとえば、画面にasというタイトルの新しいウィンドウを作成して(2* ~)からasuser@remotehostに接続したいので、タイトルをに設定するとします。 connectを実行すると、ヘッダーがに戻ります。実行すると、ヘッダーが望ましくない方法で変更されます。remotehostuserssh user@remotehostremotehost(2* ~)remotehosthtophtop

別のセッションに接続していても、リモートウィンドウzshコマンドをローカルウィンドウタイトルに伝播するようです。zsh以前はこれが起こらなかったため、以下でのみ発生するようですbash。以前の動作を設定zshまたは上書きできる項目はありますか?切り替えて変更したoh-my-zshのではなく、ここにあります。.screenrczsh

# 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_precmdomz_termsupport_preexec場所に適用されます。~/.oh-my-zsh/lib/termsupport.zsh

おすすめ記事