[关闭]
@mwumli 2019-05-10T09:27:03.000000Z 字数 1772 阅读 8948

CentOS 下安装 tmux

Linux CentOS


CentOS官方软件源中没有 tmux ,如果不想使用EPEL源或者其他第三方源,就要自己编译安装
这里介绍一下 CentOS 下编译安装 tmux

tmux 是什么

关于 tmux 是什么,能做什么,简单使用
请看 这里

CentOS 下的安装

tmux 依赖于 ncurses-devellibevent 这两个软件包
因此要编译 tmux ,首先需要安装这两个包

libevent 的安装

  1. // 使用 wget 下载
  2. $ wget https://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
  3. // 使用 ls 可以看到下载的包
  4. $ ls
  5. libevent-2.0.21-stable.tar.gz
  6. $ tar xvf libevent-2.0.21-stable.tar.gz
  7. $ ls libevent-2.0.21-stable
  8. libevent-2.0.21-stable libevent-2.0.21-stable.tar.gz
  9. $ cd libevent-2.0.21-stable
  10. libevent-2.0.21-stable $ ./configure --prefix=/home/vagrant/libevent //配置安装目录
  11. libevent-2.0.21-stable $ make //编译
  12. libevent-2.0.21-stable $ make install //根据之前的配置安装

ncurses-devel

如果有 yum 权限

ncurses-devel 一般在官方源中可以找到 ,于是你可以

$ yum install ncurses-devel

如果没有 yum 权限(编译安装)

  1. $ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz //下载
  2. $ tar xvf ncurses-5.9.tar.gz
  3. $ cd ncurses-5.9
  4. ncurses-5.9 $ ./configure --prefix=/home/vagrant/ncurses //配置安装目录
  5. ncurses-5.9 $ make
  6. ncurses-5.9 $ make install

安装 tmux

  1. $ wget http://downloads.sourceforge.net/tmux/tmux-1.9a.tar.gz
  2. $ tar -zxvf tmux-1.9a.tar.gz
  3. $ cd tmux-1.9a

因为 libeventncurses 没有安装在默认路径,所以编译 tmux 时,要通过 CFLAGSLDFLAGS 环境变量改变搜索头文件和库文件的路径:

  1. //配置编译和安装环境
  2. tmux-1.9a $ CFLAGS="-I/home/vagrant/libevent/include -I/home/vagrant/ncurses/include" LDFLAGS="-L/home/vagrant/libevent/lib -L/home/vagrant/ncurses/lib" ./configure --prefix=/home/vagrant/tmux
  3. //配置
  4. tmux-1.9a $ make
  5. //安装
  6. tmux-1.9a $ make install

此时 tmux 已经被安装到 /home/vagrant/tmux/bin/ 下了

使 tmux 在任意目录都可以调用

修改 PATH 环境变量

/etc/profile~/.bashrc 底部加入:

PATH=$PATH:/home/vagrant/tmux/bin

然后使用 source 命令 或者 重启使之生效

把 tmux 放入PATH环境变量中的目录下

$ sudo cp tmux/bin/tmux  /usr/local/bin/

运行 tmux 出错

编译完运行 tmux 还可能出错, 因为某些以来的库没有在系统的库文件寻找路径里
按照提示,把相应库文件放入系统的库文件路径下即可
例如以下错误

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

我们把刚才编译得到的 libevent-2.0.so.5 放入 /usr/lib(32位OS) 或 /usr/lib64(64位OS)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注