Để bắt đầu tmux
trên mỗi lần đăng nhập shell, phần sau đây đã được thêm vào ~/.bashrc
(trên máy chủ):
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
Tôi cũng muốn thay đổi tiêu đề cửa sổ thành một cái gì đó như user@server
(thay vì user@localhost
) khi ssh vào máy chủ. Đây là của tôi ~/.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@'
Như bạn có thể thấy, set-titles
đã được đặt thành on
, nhưng nó không hoạt động như mong đợi.
Thêm thông tin:
Bên ngoài tmux:
$ echo $TERM
xterm
Bên trong tmux:
$ echo $TERM
screen
show -g
: https://clbin.com/h7oDh
tmux info
: http://sprunge.us/XHCB
Và đây là nhật ký khi chạy tmux -vvvvv
một chút:
- tmux-client-8441.log: https://clbin.com/eFwFF
- tmux-out-8443.log: https://clbin.com/MSKZv
- tmux-server-8443.log: https://clbin.com/JXwRN
Nếu tôi nhận xét các dòng trong ~/.bashrc
, từ máy tính xách tay của tôi, ssh đến máy chủ, thanh tiêu đề hiển thị chính xác ( quanta@server
), sau đó bắt đầu tmux
từ đó cũng hoạt động như mong đợi.
Nhưng nếu tôi muốn bắt đầu tmux
ngay sau khi đăng nhập, thanh tiêu đề vẫn là quanta@Ubuntu
sau ssh.
CẬP NHẬT Thứ Sáu ngày 10 tháng 5 07:51:23 CNTT 2013
Tôi đã xóa exit
lệnh để không đóng phiên shell khi tmux
cửa sổ cuối cùng được đóng:
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
Điều kỳ lạ là:
- ssh đến máy chủ -> thanh tiêu đề:
quanta@Ubuntu
- tách ra từ
tmux
-> thanh chuyển đổi tiêu đề sangquanta@server
- đính kèm
tmux
lại -> thanh tiêu đề vẫn hiển thị chính xácquanta@server
Tôi không chắc nó có liên quan đến PROMPT_COMMAND
biến môi trường hay không:
Bên ngoài tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
Bên trong tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
.