您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

CentOS中安装使用窗口管理程序tmux的方法

添加时间:2016-6-12 20:50:05  添加: 思海网络 
为什么要用tmux

tmux是什么?tmux是linux中一种管理窗口的程序。那么问题来了:Mac自带的Iterm2很好用啊。既支持多标签,也支持窗体内部Panel的分割,为什么还要用tmux?其实,多标签和分割窗体只是tmux的部分功能。用tmux的主要原因是它提供了一个窗体组随时存储和恢复的功能。看看以下的使用场景是否适合你:

公司台式机开了一堆vim和log打印窗口下班了。到家后灵感突发,想要继续coding,登陆VPN,SSH连上台式后发现又要重新打开各种窗口,瞬间没心情了。。。FML!这个时候你就可以在你的公司台式机上装个tmux。同一组工作环境,在多处共享。
公司服务器上调试程序,开了一堆窗口。出去吃了个饭,发现SSH超时了,broken pipe。重头开始。。。FML!如果你之前使用了tmux就不会有这样的问题,attach就能找回原来打开的那些窗口。

tmux的基本概念

我们先来理解下tmux的几个元素。tmux的主要元素分为三层:

Session 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。
Window 单个可见窗口。Windows有自己的编号,也可以认为和ITerm2中的Tab类似。
Pane 窗格,被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。
为了更好的理解,下面是三个元素在tmux中的具体展现。


可以看到Session总在tmux的左下角显示,通常会为他命名。例如我正在写博客,开了很多窗口那么我就会把这组窗口命名为blog方便之后的重连和切换。而Window也会在最下方以一种Tab的形式展现。每个window都有自己的需要,也会以当前活动进程的名字命名。而Pane就比较好理解,即把单个窗口分割成若干个小块后的元素。

CentOS下安装

首先我是用yum install tmux尝试安装的。估计没有源,没有找到tmux。所以习惯性直接找源代码安装。 
但是其中有依赖,需要先安装libevent。



代码如下:
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar xzvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure && make
make install

然后再下载源码安装tmux


代码如下:
git clone git://git.code.sf.net/p/tmux/tmux-code tmux
cd tmux
sh autogen.sh
./configure && make
make install

过程中遇到了两个报错,解决都比较简单,当然是查阅资料后。

 
问题1:

期间我遇到了执行autogen.sh 报错,原因是我没有安装automake。这个直接yum install automake就简单解决了。

 
问题2:

执行的时候遇到

libevent-2.0.so.5: cannot open shared object file: No such file or directory
的报错,解决办法也比较简单,既然找不到,那就换个找得到的地方呗。



代码如下:
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5 # 32位系统
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 # 64位系统

使用和快捷键

直接在命令行输入tmux即可进入tmux的模式。

tmux主要有windows窗体操作和Pane操作,个人觉得windows对于我来说,意义不大(并不是说windows模式没适用场景),所以这里主要讲下Pane的相关操作。

 
快捷键

tmux的快捷键都要先按C-b(Ctrl-b)。然后再按下面表格内容,才能达到相应的效果。

 
session和其他相关快捷键


快捷键 功能 
C-z 关闭tmux. 
: 进入tmux命令行模式. 
? 列出所有快捷键. 
t 显示时间. 
d 退出当前tmux客户端,tmux后台运行. 
$ 重命名当前session. 
s 切换session 显示所有session并切换到某一个session. 
( 切换session 切换到上一个session. 
) 切换session 切换到下一个session. 
L 切换session 到前一个活跃的session. 


window相关快捷键


快捷键 功能 
c 新增一个window. 
& 退出当前window. 
, 重命名当前window. 
l 跳转到上一个所在window. 
i 显示当前window的信息. 
w 切换window 显示所有window并切换window. 
0 to 9 切换window 到相应编号的window. 
p 切换window 上一个window. 
n 切换window 下一个window. 
’ 切换window 到输入编号的window. 
f 切换window 到搜索到的window. 
Space 改变当前window下的pane布局. 

pane相关快捷键
快捷键 功能 
! 从window移除当前pane. 
" 将当前pane变成上下两个pane. 
% 将当前pane变成左右两个pane. 
x 关闭当前pane. 
q 显示pane的索引. 
z 最大化或者恢复当前pane. 
{ 跟前一个pane交换位置. 
} 跟后一个pane交换位置. 
o 切换Pane 到下一个pane. 
; 切换Pane 进入到前一个操作过的pane. 
Up, Down Left, Right  切换Pane 使用方向键切换到相应方向的pane.
 

可能有些快捷键有些出入,可以的话提醒下。另外有些快捷键没有搞懂,而且快捷键比较多,个人觉得记得主要的几个切换快捷键就足够用来。比较tmux只是一个协助工具,没有必要在其上面那么用心。加粗的是个人觉得比较实用的。

tmux不中断session的模式确实很666666,每次连回去就可以快速接上上次结束的环境。而且多个pane也非常适合要开启并监控多个服务的情况。

关键字:CentOS、管理程序、tmux
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站