TMUX(Terminal Multiplexer),是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件。对于深度学习方向的同学,经常会把代码部署到实验室或者公司的服务器上,但是当电脑休眠或者意外断网时,在服务器上运行的代码就会中断,只能重新运行代码,浪费大量的时间。因此,当我们在终端使用TMUX时就可以使得终端会话窗口不会因网络中断而退出,即我们可以在断开服务器的情况下继续运行我们的程序,当我们重新连上服务器,再次进入TMUX后,还可以看到程序的运行状态和结果。
TMUX的安装可以分为在线安装和离线安装两种方式,接下来我会逐一介绍这两种方式的安装。
2.1 TMUX在线安装
TMUX在线安装的方式相对简单,只需要一条简单的命令即可成功安装,但是前提是你要有实验室服务的sudo权限,不然就不能使用这种方式安装。这种方式的安装命令如下:
sudo apt-get install tmux
2.2 TMUX离线安装
当实验室的服务器没有分配sudo权限的时,我们只好采取离线安装的方式,我在网上找到了许多离线安装的教程,发现了一个使用脚本进行安装的方式比较简单,在此整理一下,供大家参考,大家如果有更好的方式也可以发出来共享一下。
脚本代码如下:
注意: tmux默认的快捷键是Ctrl+B,对于我这种手短用户极其不友好,所以在脚本文件中,我将其改为了Crtl+A!!!如果大家有更习惯的快捷键,可以把脚本里prefix(快捷键)改为自己习惯的组合。
# tmux_download_installer.sh# downloadread -p "Enter the Download path: " target_pathread -p "Enter the install path: " install_pathmkdir ${install_path}wget -P ${target_path} https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gzwget -P ${target_path} https://github.com/tmux/tmux/releases/download/3.0a/tmux-3.0a.tar.gzwget -P ${target_path} https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz --no-check-certificate# unziptar -xzvf ${target_path}/libevent-2.1.11-stable.tar.gz -C ${install_path}tar -xzvf ${target_path}/ncurses-6.2.tar.gz -C ${install_path}tar -xzvf ${target_path}/tmux-3.0a.tar.gz -C ${install_path}#beventcd ${install_path}/libevent*./configure --prefix=/my/path/tmux_depend --disable-sharedmake && make install#ncursescd ${install_path}/ncur*./configure --prefix=/my/path/tmux_dependmake && make install#tmuxcd ${install_path}/tmux*./configure CFLAGS="-I/my/path/tmux_depend/include -I/my/path/tmux_depend/include/ncurses" LDFLAGS="-L/my/path/tmux_depend/lib -L/my/path/tmux_depend/include/ncurses -L/my/path/tmux_depend/include" #CPPFLAGS="-I/my/path/tmux_depend//include -I/my/path/tmux_depend//include/ncurses" LDFLAGS="-static -L/my/path/tmux_depend//include -L/my/path/tmux_depend//include/ncurses -L/my/path/tmux_depend//lib" # add config fileecho " " > ~/.tmux.confcat>~/.tmux.conf<<EOF# Send prefixset-option -g prefix C-aunbind-key C-abind-key C-a send-prefix# Use Alt-arrow keys to switch panesbind -n M-Left select-pane -Lbind -n M-Right select-pane -Rbind -n M-Up select-pane -Ubind -n M-Down select-pane -D# Shift arrow to switch windowsbind -n S-Left previous-windowbind -n S-Right next-window# Mouse modeset -g mouse on# Set easier window split keysbind-key v split-window -hbind-key h split-window -v# Easy config reloadbind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded"EOFtmux source ~/.tmux.conf
有了脚本代码以后,我们就可以开始离线安装TMUX了。首先,我们需要在一个指定的目录下,新建一个.sh文件,并把上述代码复制进去。具体地,我们使用vim命令对文件进行编辑,打开文件后,按 i 打开insert模式,然后复制源码到文件中去,按ESC回到命令模式,最后输入 :wq 保存并退出。
vim tmux_download_installer.sh
随后,在当前文件夹下,使用bash命令进行安装:
bash tmux_download_installer.sh
一般到这里基本已经安装完成,但是偶尔会出现安装不成功的情况,我们找到TMUX这个文件夹,里面会有ncurses、libvent以及tmux三个文件夹,我们对这三个文件夹分别进行安装,具体方式如下:
nurses的安装
cd ncurses-*
./configure --prefix=/usr CXXFLAGS=“-fPIC” CFLAGS=“-fPIC”
make && sudo make install
libevent的安装
cd libevent-*
./configure --prefix=/usr
make && sudo make install
tmux的安装
cd tmux-*
./configure
make && sudo make install
按照上述内容进行安装,基本上就大功告成了,我们在命令行中输入tmux,如果进入到tmux窗口,说明安装成功。
来源地址:https://blog.csdn.net/qq_50511203/article/details/129325146