Linux手动安装TMUX编译以及遇到的问题


在用Linux终端执行命令操作时,经常会Ctrl+Alt+t开多个标签进行不同的操作。如果在执行一个操作的同时又需要关注另一个操作的执行结果。让操作执行完弹出一个对话框?发出声音提示操作完成?这些方法都用过,麻烦的是需要在不同的标签之间跳来跳去,而且标签一多就容易忘记哪个标签是做什么的。 通过Google,找到了一款工具:tmux,安装后试用效果如下(分了三个窗口): 这里哦哦

编译安装

环境:Redhat 5.x / CentOS 5.x 1、已经安装了libevent1.4.x或libevent2.0.x在默认的系统路径。 git clone git://git.code.sf.net/p/tmux/tmux-code tmux
cd tmux
sh autogen.sh
./configure && make
2、未安装libevent。 1)从http://libevent.org/下载libevent源码编译安装(安装至系统默认路径需ROOT权限)。 ./configure && make
make install 2)下源tmux源码编译安装。 git clone git://git.code.sf.net/p/tmux/tmux-code tmux
cd tmux
sh autogen.sh
./configure && make
3、已经安装了libevent在一个自定义路径。 git clone git://git.code.sf.net/p/tmux/tmux-code tmux
cd tmux
sh autogen.sh
DIR=/home/nieyong/local/libevent-2.0.11-stable
./configure CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib"
make
遇到的错误:

1.编译tmux时,可能出现的错误


control.c: In function ‘control_callback’:
control.c:63: warning: implicit declaration of function ‘evbuffer_readln’
control.c:63: error: ‘EVBUFFER_EOL_LF’ undeclared (first use in this function)
control.c:63: error: (Each undeclared identifier is reported only once
control.c:63: error: for each function it appears in.)
control.c:63: warning: assignment makes pointer from integer without a cast
make: *** [control.o] Error 1

原因是使用的libevent的版本太低造成的,tmux1.8要求libevent>= 2.0.10-stable

2. 运行tmux可能出现的错误

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

解决办法:建立相应的symbol link

32bit系统

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

64bit系统

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

一些命令:

按下CTRL-b c

这将会创建一个新的窗口,然后屏幕的光标移向它。现在你就可以在新窗口下运行你的新应用。你可以修改你当前窗口的名字。在目前的例子里,我运行的top程序,所以top就是该窗口的名字

如果你想要重命名,只需要按下:

CTRL-b

状态条将会改变,这时你将可以重命名当前的窗口

\

一旦在一个会话中创建多个窗口,我们需要在这些窗口间移动的办法。窗口像数组一样组织在一起,从0开始用数字标记每个窗口,想要快速跳转到其余窗口:

CTRL-b <窗口号>

如果我们给窗口起了名字,我们可以使用下面的命令找到它们:

CTRL-b f

也可以列出所有窗口:

CTRL-b w

按照顺序切换到不同的窗口:

CTRL-b n(到达下一个窗口) CTRL-b p(到达上一个窗口)

想要离开一个窗口,可以输入 exit 或者:

CTRL-b &

关闭窗口之前,你需要确认一下。

把窗口分成许多面板

有时候你在编辑器工作的同时,需要查看日志文件。在编辑的同时追踪日志真的很有帮助。Tmux可以让我们把窗口分成许多面板。举个例子,我们可以创建一个控制台监测我们的服务器,同时用编辑器构造复杂的开发环境,这样就能同时进行编译和调试了。

让我们创建另一个Tmux会话,让其以面板的方式工作。首先,如果我们在某个会话中,那就从Tmux会话中脱离出来:

CTRL-b d

开始一个叫做"panes"的新会话:

$ tmux new -s panes

你可以水平或者竖直分割一个窗口,水平分割输入:

CRTL-b "

现在你就拥有两个面板,现在我们竖直分割:

CRTL-b %

又增加了两个:

\

在他们之间移动:

CTRL-b <光标键>

相关内容