シェルがログインするたびに起動するには(サーバー上)、tmux
以下を追加します。~/.bashrc
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
また、ホストにssh'ingするときにウィンドウのタイトルを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-クライアント-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\\"