tmux是什么
tmux是一个 terminal multiplexer(终端复用器),它可以启动一系列终端会话。
简单来说,安装tmux之前,一旦与服务器断开连接或者关闭xhell或其他shell终端,我们的服务器上运行的程序就会终止,而且输入的历史消息全部消失。因此如果我们希望整晚在服务器上跑代码,我们的电脑也要整晚一直连接着服务器。而安装了tmux之后,即使我们关闭了shell终端或者不幸与服务器断开连接,我们在服务器上的程序依然在运行。
安装
- root用户安装仅需一行
sodu apt-get install tmux
- 非root用户
需要下载源码安装,网上教程众多,不知道该用哪一个。下面是我今天刚刚安装的步骤,安装时间2021/05/20,亲测有效。
- 下载
下载tmux及其依赖软件。
wget -c https://github.com/tmux/tmux/releases/download/3.2/tmux-3.2.tar.gz
wget -c https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
wget -c https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
- 解压安装包
tar -xzvf tmux-3.2.tar.gz
tar -xzvf libevent-2.1.11-stable.tar.gz
tar -xzvf ncurses-6.2.tar.gz
- 分别源码安装,先安装两个依赖包
cd libevent-2.1.11-stable
#HOME/tmux_depend是我的安装路径,大家可以修改
./configure --prefix=$HOME/tmux_depend --disable-shared
make && make install
libevent会安在 /tmux_depend / lib
cd ncurses-6.2
./configure --prefix=$HOME/tmux_depend
make && make install
ncurses会安在 /tmux_depend / include
- 安装tmux
cd tmux-3.2
./configure CFLAGS="-I$HOME/tmux_depend/include -I/$HOME/tmux_depend/include/ncurses" LDFLAGS="-L/$HOME/tmux_depend/lib -L/$HOME/tmux_depend/include/ncurses -L/$HOME/tmux_depend/include"
make
cp tmux $HOME/tmux_depend/bin
设置环境变量(此步骤建议手动添加到bashrc文件中)
export PATH=$HOME/tmux_depend/bin:$PATH
source ~/.bashrc
恭喜你!完成安装,可以尽情享受tumx啦!
tmux常用命令
1)新建会话,比如新创建一个会话以"ccc"命名
[root@Centos6 ~]# tmux new -s ccc
加上参数-d,表示在后台新建会话
root@bobo:~# tmux new -s shibo -d
root@bobo:~# tmux ls
shibo: 1 windows (created Tue Oct 2 19:22:32 2018) [135x35]
2)查看创建得所有会话
[root@Centos6 ~]# tmux ls
0: 1 windows (created Wed Aug 30 17:58:20 2017) [112x22](attached) #这里的attached表示该会话是当前会话
aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]
ccc: 1 windows (created Wed Aug 30 17:01:05 2017) [112x22]
3)登录一个已知会话。即从终端环境进入会话。
第一个参数a也可以写成attach。后面的aaa是会话名称。
[root@Centos6 ~]# tmux a -t aaa
4)退出会话不是关闭:
登到某一个会话后,先按键ctrl+b启动快捷键,再按d,这样就会退出该会话,但不会关闭会话。
如果直接ctrl + d,就会在退出会话的通话也关闭了该会话!
5)关闭会话(销毁会话)
[root@Centos6 ~]# tmux ls
aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]
bbb: 1 windows (created Wed Aug 30 19:02:09 2017) [112x22]
[root@Centos6 ~]# tmux kill-session -t bbb
[root@Centos6 ~]# tmux ls
aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]
6)重命名会话
[root@Centos6 ~]# tmux ls
yupei: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)
[root@Centos6 ~]# tmux rename -t yupei kevin
[root@Centos6 ~]# tmux ls
kevin: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)
常见问题
vim配色不太对
- ~/.bashrc中添加, 并且source
bash下一切正常,但在tmux下Vim配色方案有问题,查了下,tmux -2可以解决。
看了下tmux的man手册,-2选项让tmux假设终端支持256种颜色
export TERM=linux
alias tmux='tmux -2'