tmux
すべてのシェルログインで開始するために、次のものが~/.bashrc
(サーバー上で)追加されました。
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
また、ホストにsshするときに、ウィンドウタイトルをuser@server
(の代わりにuser@localhost
)のようなものに変更したいと思います。ここに私の~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
set -g set-titles on
set -g set-titles-string "#T"
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
ご覧のとおり、set-titles
はに設定されてon
いますが、期待どおりに機能しません。
詳細情報:
tmuxの外側:
$ echo $TERM
xterm
tmuxの内部:
$ echo $TERM
screen
show -g
:https : //clbin.com/h7oDh
tmux info
:http : //sprunge.us/XHCB
tmux -vvvvv
少し実行したときのログは次のとおりです。
- tmux-client-8441.log:https ://clbin.com/eFwFF
- tmux-out-8443.log:https ://clbin.com/MSKZv
- tmux-server-8443.log:https ://clbin.com/JXwRN
の行を~/.bashrc
ラップトップからsshからサーバーにコメントアウトすると、タイトルバーが正しく表示され(quanta@server
)、そこから開始tmux
することも期待どおりに機能します。
しかし、tmux
ログイン後すぐに起動したい場合、タイトルバーはquanta@Ubuntu
sshの後に残ります。
5月10日金曜日更新07:51:23 ICT 2013
exit
最後のtmux
ウィンドウが閉じられたときにシェルセッションを閉じないように、コマンドを削除しました。
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
奇妙なことは:
- サーバーへのssh->タイトルバー:
quanta@Ubuntu
- から切り離す
tmux
->タイトルバーの切り替えquanta@server
tmux
再度アタッチ->タイトルバーがまだ正しく表示されるquanta@server
PROMPT_COMMAND
環境変数に関連しているかどうかはわかりません:
の外側tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
内部tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
。