代替screen的好工具tmux

以前一直用screen进行终端的管理。但是screen有各种各样的问题。最近发现了一个好工具叫tmux,全称是Terminal Multiplexer 我常用的几个功能如下: 1. 共享屏幕,这个screen其实也可以做,但是比较复杂,而在tmux中2个人连同一个连接就可以搞定了。 2. 日志记录,screen中的日志一直不知道如何快捷的导出,而tmux却很容易的记录,不过它记录的是屏幕显示,有时内容就过显多了。 3. 分割屏幕,有时候在同一个终端中一边看日志,一般看系统负载。screen只能水平分割,而tmux中可以自由的分割。 4. 自定义配置文件,下面这个就是我的配置文件。把默认了Ctrl+b改成了Ctrl+a,这样更适合以前用惯screen的我习惯了。以及一些高亮和快捷方式的更改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Global settings 
# Set prefix to ^a (like screen)
# go to start of line will be C-a C-a
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
# Reload key
bind r source-file ~/.tmux.conf
set -g history-limit 10000
# THEME
set -g status-bg black
set -g status-fg white
set -g status-interval 60
set -g status-left-length 30
set -g status-left '#[fg=green](#S) #(whoami)@#H#[default]'
set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=blue]%H:%M:%S#[default]'
# Key Bind
set -g bell-action any
setw -g mode-keys vi
setw -g xterm-keys on
# open a man page in new window
bind-key / command-prompt "split-window -h 'exec man %%'"
# log output
bind-key H pipe-pane 'cat >>$HOME/tmux-#W.log' ; display-message 'Started logging to $HOME/tmux-#W.log'
bind-key h pipe-pane ; display-message 'Ended logging to $HOME/tmux-#W.log'
# quick view of processes bind-key "~"
split-window -h "exec top" unbind % bind | split-window -v unbind '"'
bind - split-window -h
bind-key H pipe-pane 'cat >>$HOME/tmux-#W.log' ; display-message 'Started logging to $HOME/tmux-#W.log' bind-key h pipe-pane ; display-message 'Ended logging to $HOME/tmux-#W.log'
setw -g utf8 on
set -g mouse-select-pane on
set -g status-utf8 on
# window title
set-option -g set-titles on
set-option -g set-titles-string '#S:#I.#P #W'
# window number,program name,active (or not)
set-window-option -g automatic-rename on
# auto name
# Highlight active window
# active window title colors
setw -g window-status-current-fg black
setw -g window-status-current-bg red
#setw -g window-status-current-attr bright
setw -g window-status-current-attr underscore
# clock
set-window-option -g clock-mode-colour cyan
set-window-option -g clock-mode-style 24