あれこれたくさん試してみましたが、現時点では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はウィンドウのタイトルを正しく更新します。