tmux 多终端登陆软件,安装配置使用详解

网友投稿 1164 2022-09-28

tmux 多终端登陆软件,安装配置使用详解

tmux 多终端登陆软件,安装配置使用详解

tmux 多终端登陆软件,安装配置使用详解

在日常工作中,总是感觉用 CRT 连接Linux一个窗口不够用,再开新的窗口又比较麻烦,在网上查找可以打开多个终端登录软件,最后我找到了很强大而且使用广泛的tmux多终端管理器。

tmux是一个优秀的终端复用软件,类似GNU Screen,使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再使用更多的SSH会话来连接这台远程主机;其功能远不止于此。

下面详细介绍tmux软件的 1.6 、1.8 编译安装和 centos 5.X(32位、64位)、centos 6X 32位、64位) rpm包安装部署以及简单实用方法介绍;

安装

这里只详细说明在Centos5.x 和centos 6.x 下如何安装和使用tmux的。

一:-tmux:

下面有各种版本的-软件包连接,根据需要-,为了方便我选择rpm包。

wget   ftp://ftp.muug.mb.ca/mirror/fedora/epel/5/x86_64/tmux-1.4-3.el5.1.x86_64.rpm

wget ftp://rpmfind-/linux/dag/redhat/el5/en/x86_64/dag/RPMS/tmux-1.2-1.el5.rf.x86_64.rpm

wget ftp://rpmfind-/linux/dag/redhat/el5/en/i386/dag/RPMS/tmux-1.2-1.el5.rf.i386.rpm

wget ftp://rpmfind-/linux/dag/redhat/el6/en/x86_64/dag/RPMS/tmux-1.6-1.el6.rf.x86_64.rpm

二:编译安装:

2.1:编译安装;

2.1.1 : 1.6 版本安装

tar zxvf  tmux-1.6.tar.gz

cd tmux-1.6

./configure

make;make install

2.1.2: 1.8版本编译安装

编译安装:

mkdir -p /usr/local/tmux

mkdir -p /tmp/libevent

#安装依赖补丁包步骤如下;

wget xvzf libevent-2.0.20-stable.tar.gz

./configure --prefix=/tmp/libevent

make

make install

tmux 1.8 -安装步骤如下;

wget   -xvf tmux-1.8.tar.gz

cd tmux-1.8

CFLAGS="-I/tmp/libevent/include" LDFLAGS="-L/tmp/libevent/lib" ./configure --prefix=/usr/local/tmux

make

make install

ln -s /usr/local/tmux/bin/tmux /usr/bin/

2.1.3 :centos 5x 64位系统安装

Linux sambaserver 2.6.18-308.16.1.el5 #1 SMP Tue Oct 2 22:01:43 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

more /etc/redhat-release

CentOS release 5.8 (Final)

wget workspace]# rpm -ivh tmux-1.4-3.el5.1.x86_64.rpm

warning: tmux-1.4-3.el5.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6

Preparing...     ########################################### [100%]

1:tmux       ########################################### [100%]

2.1.4 :Centos 6 32位系统 安装

uname -a

Linux Cacti 2.6.32-220.el6.i686 #1 SMP Tue Dec 6 16:15:40 GMT 2011 i686 i686 i386 GNU/Linux

more /etc/redhat-release

CentOS release 6.2 (Final)

wget workspace]# rpm -ivh tmux-1.6-1.el6.rf.i686.rpm

warning: tmux-1.6-1.el6.rf.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY

Preparing...       ########################################### [100%]

1:tmux        ########################################### [100%]

2.1.5:Centos 6X 32位系统 安装

uname -a

Linux hkvps 2.6.32-279.11.1.el6.i686 #1 SMP Tue Oct 16 14:40:53 UTC 2012 i686 i686 i386 GNU/Linux

more /etc/redhat-release

CentOS release 6.2 (Final)

wget -ivh tmux-1.6-1.el6.rf.i686.rpm

warning: tmux-1.6-1.el6.rf.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY

Preparing...   ########################################### [100%]

1:tmux      ########################################### [100%]

三:实用简介

3.1、启动tmux

安装完成后输入命令tmux即可打开软件,界面十分简单,类似一个下方带有状态栏的终端控制台;但根据tmux的定义,在开启了tmux服务器后,会首先创建一个会话,而这个会话则会首先创建一个窗口,其中仅包含一个面板;也就是说,这里看到的所谓终端控制台应该称作tmux的一个面板,虽然其使用方法与终端控制台完全相同。

tmux使用C/S模型构建,主要包括以下单元模块:

       一个tmux命令执行后启动一个tmux服务

       一个tmux服务可以拥有多个session,一个session可以看作是tmux管理下的伪终端的一个集合

       一个session可能会有多个window与之关联,每个window都是一个伪终端,会占据整个屏幕

       一个window可以被分割成多个pane

多个pane的编号规则,以3个pane为例:

0

1 | 2

3.1.1:命令介绍

tmux new -s health   #启动一个tmux  session 命名为 health

tmux attach-session -t health    #进入已启动的health session里面

tmux  rename-session -t 0 health     #将已经启动session 0 改名为 health

tmux  kill-session -t health        #kill 命名为  health  的回话

tmux ls                                                             #查看已经启动session

3.1.2:tmux快捷键

tmux在会话中使用大量的快捷键来控制多个窗口、多个会话等。

1.      Ctrl+b  #激活控制台;此时以下按键生效

2.      系统操作

3.          ?   #列出所有快捷键;按q返回

4.          d   #脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话

5.          D   #选择要脱离的会话;在同时开启了多个会话时使用

6.          Ctrl+z  #挂起当前会话

7.          r   #强制重绘未脱离的会话

8.          s   #选择并切换会话;在同时开启了多个会话时使用

9.          :   #进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器

10.       [   #进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出

11.       ~   #列出提示信息缓存;其中包含了之前tmux返回的各种提示信息

12.   窗口操作

13.       c   #创建新窗口

14.       &   #关闭当前窗口

15.       数字键 #切换至指定窗口

16.       p   #切换至上一窗口

17.       n   #切换至下一窗口

18.       l   #在前后两个窗口间互相切换

19.       w   #通过窗口列表切换窗口

20.       ,   #重命名当前窗口;这样便于识别

21.       .   #修改当前窗口编号;相当于窗口重新排序

22.       f   #在所有窗口中查找指定文本

23.   面板操作

24.       ”   #将当前面板平分为上下两块

25.       %   #将当前面板平分为左右两块

26.       x   #关闭当前面板

27.       !   #将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板

28.       Ctrl+方向键    #以1个单元格为单位移动边缘以调整当前面板大小

29.       Alt+方向键 #以5个单元格为单位移动边缘以调整当前面板大小

30.     Space   #在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled

31.       q   #显示面板编号

32.       o   #在当前窗口中选择下一面板

33.       方向键 #移动光标以选择面板

34.       {   #向前置换当前面板

35.       }   #向后置换当前面板

36.       Alt+o   #逆时针旋转当前窗口的面板

37.       Ctrl+o  #顺时针旋转当前窗口的面板

3.1.3:配置文件

tmux配置文件在~/.tmux.conf和/etc/tmux.conf中,配置文件中可以修改默认绑定的快捷键

配置文件示例

1.      #此类配置可以在命令行模式中输入show-options -g查询

set-option -g base-index 1                        #窗口的初始序号;默认为0,这里设置为1

set-option -g display-time 5000                   #提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒

set-option -g repeat-time 1000                    #控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒

set-option -g status-keys vi                      #操作状态栏时的默认键盘布局;可以设置为vi或emacs

set-option -g status-right "#(date +%H:%M' ')"    #状态栏右方的内容;这里的设置将得到类似23:59的显示

set-option -g status-right-length 10              #状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口)

set-option -g status-utf8 on                      #开启状态栏的UTF-8支持

#此类设置可以在命令行模式中输入show-window-options -g查询

set-window-option -g mode-keys vi    #复制模式中的默认键盘布局;可以设置为vi或emacs

set-window-option -g utf8 on         #开启窗口的UTF-8支持

#将激活控制台的快捷键由Ctrl+b修改为Ctrl+a,Ctrl+a是Screen的快捷键

set-option -g prefix C-a

unbind-key C-b

bind-key C-a send-prefix

#添加自定义快捷键

bind-key z kill-session                     #按z结束当前会话;相当于进入命令行模式后输入kill-session

bind-key h select-layout even-horizontal    #按h将当前面板布局切换为even-horizontal;相当于进入命令行模式后输入select-layout even-horizontal

bind-key v select-layout even-vertical      #按v将当前面板布局切换为even-vertical;相当于进入命令行模式后输入select-layout even-vertical

#鼠标支持

setw -g mouse-resize-pane on                #开启用鼠标拖动调节pane的大小(拖动位置是pane之间的分隔线)

setw -g mode-mouse on                       #开启window/pane里面的鼠标支持(也即可以用鼠标滚轮回滚显示窗口内容,此时还可以用鼠标选取文本)

四:安装报错排查

#报错 1

oops 出错

control.c: In function ‘control_callback’:

control.c:103: warning: implicit declaration of function ‘evbuffer_readln’

control.c:103: error: ‘EVBUFFER_EOL_LF’ undeclared (first use in this function)

control.c:103: error: (Each undeclared identifier is reported only once

control.c:103: error: for each function it appears in.)

make: *** [control.o] Error 1

解决:用下面的方式编译

CFLAGS="-I/tmp/libevent/include" LDFLAGS="-L/tmp/libevent/lib" ./configure --prefix=/usr/local/tmux

#报错2 t

mux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

解决:将库文件 copy 到 lib64

cp /tmp/libevent/lib/libevent-2.0.so.5 /usr/lib64/

五:tmux使用效果

​​​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot 多租户SaaS搭建方案
下一篇:linux系统服务器性能综合测试(UnixBench5)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~