tmuxウィンドウで開始されたSSH接続を終了した後、ステータスバーのtmuxをリセットする

tmuxウィンドウで開始されたSSH接続を終了した後、ステータスバーのtmuxをリセットする

あれこれたくさん試してみましたが、現時点ではtmuxが本当にこだわりが強いようです。

Bashでtmuxセッションを開始すると、次のように表示されます。

0:bash*

私のステータスバーに。その後、サーバーにSSHで接続すると、私に提供されます。

0:user@server:~*

SSHセッションを終了すると、ステータスバーは以前の状態に戻りません。

0:bash*、それはただ維持します0:user@server:~*

これは私を迷惑させる。マニュアルページを確認してインターネットを検索しましたが、Hive Mindがここで役に立つことを願っています。

これは私の.tmux.confのすべてです。

set -g mouse on
set -g default-terminal "screen-256color"

tmux -V出力tmux 2.6

答え1

質問:TMUXはSSHサーバーに接続するとステータスバーを変更します。確かにSSHサーバーをシャットダウンしたら、それをもう一度変更してください。

解決策:PROMPT_COMMANDは、TMUXステータスバーに表示される値を提供する環境変数です。ローカルコンピュータにコンテンツがありません。 SSH サーバーから取得した正確な設定をローカル bash rc ファイルに入れます。 TMUXを終了し、新しいTMUXセッションを開始します。

SSHサーバーのbash rcファイルには、次の内容が表示されます。

PROMPT_COMMAND="echo -ne \"\033]0;$USER (on $HOSTNAME)\007\""
export PROMPT_COMMAND

ローカルコンピュータに正しい設定を入力してください。

これで、新しいTMUXウィンドウまたは新しいTMUXセッションが正常に機能します。

これが役に立たない場合、BASHはウィンドウのタイトルを設定しますが、TMUXはそれを使用しません。
その後、TMUXにヘッダーを使用させる必要があります。
CTRL-B COLON set-options -gw windows-status-format "#I:#W#F"
CTRL-B COLON set-options -gw windows-status-current-format "#I:#W#F"
CTRL-B COLON set-options -gw automatic-rename on

BASHはウィンドウのタイトルを設定し、TMUXはそれを使用します。
SSHがウィンドウのタイトルを変更した後にSSHが終了すると、TMUXはウィンドウのタイトルを正しく更新します。

関連情報