引言
? ? 為什么用Tmux晶府? 平時(shí)工作時(shí)危喉,經(jīng)常需要通過(guò)遠(yuǎn)程連接到Linux服務(wù)器進(jìn)行操作,但是這樣很是不方便弹灭。如果運(yùn)行需要耗時(shí)的程序督暂,是不可以中斷連接的,但是通過(guò)tmux可以實(shí)現(xiàn)中斷連接后程序繼續(xù)運(yùn)行穷吮,并且可以在任何其他電腦上重新連接逻翁,類似的軟件還有GNU screen等。
安裝
? ? 因?yàn)闆](méi)有root權(quán)限捡鱼,所以先下載源碼八回,然后運(yùn)行文章最后的腳本進(jìn)行安裝,?此時(shí)tmux將被安裝到$HOME/tmux/bin文件夾下,最后根據(jù)提示添加環(huán)境變量缠诅,這種方式也可以避免安裝tmux時(shí)提示libevent not found的問(wèn)題伟墙。
使用
1、輸入‘tmux’進(jìn)入滴铅,或者‘tmux new -s SessionName’進(jìn)入有名稱的會(huì)話
2戳葵、ctrl+b d 退出會(huì)話,回到shell的終端環(huán)境
3汉匙、?tmux attach 返回會(huì)話
4拱烁、?tmux ls 終端環(huán)境查看會(huì)話列表
5、tmux a -t session1 從終端環(huán)境返回指定會(huì)話
6噩翠、ctrl+b % 垂直分屏
7戏自、ctrl+b " 水平分屏
8、ctrl+b z 最大化當(dāng)前pane伤锚。再按一次后恢復(fù)擅笔。
9、ctrl+b x 關(guān)閉當(dāng)前使用中的pane屯援,操作之后會(huì)給出是否關(guān)閉的提示猛们,按y確認(rèn)即關(guān)閉。
10狞洋、ctrl+b Up|Down|Left|Right 根據(jù)按箭方向選擇切換到某個(gè)pane弯淘。
11、ctrl+b Space (空格鍵) 對(duì)當(dāng)前窗口下的所有pane重新排列布局吉懊,每按一次庐橙,換一種樣式。?
用鼠標(biāo)滾輪來(lái)卷動(dòng)窗口內(nèi)容
默認(rèn)情況下借嗽,需要用C-b [?進(jìn)入copy-mode态鳖,然后才能用PgUp/PgDn/光標(biāo)/Ctrl-S等鍵在copy-mode中移動(dòng)。
我們想使用鼠標(biāo)進(jìn)行滾動(dòng)恶导,需要在~/.tmux.conf中添加set -g mouse on
前綴修改為ctrl+x浆竭,需要在~/.tmux.conf中添加set -g prefix C-x
其他常用組合鍵
參考文獻(xiàn):
? ? [1]?Linux終端復(fù)用神器-Tmux使用梳理
? ? [2]?linux無(wú)root權(quán)限安裝tmux?
????[3]?tmux 終端復(fù)用詳解
腳本:
#!/bin/bash
# Script for installing tmux on systems where you don't have root access.
# tmux will be installed in $HOME/tmux/bin.
# It's assumed that wget and a C/C++ compiler are installed.
# exit on error
set -e
# create our directories
mkdir -p $HOME/tmux $HOME/tmux_tmp
# move source files for tmux, libevent, and ncurses to tmp dir
mv tmux-2.7.tar.gz $HOME/tmux_tmp
mv ncurses-6.1.tar.gz $HOME/tmux_tmp
mv libevent-2.1.8-stable.tar.gz $HOME/tmux_tmp
cd $HOME/tmux_tmp
# extract files, configure, and compile
############
# libevent #
############
tar xvzf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure --prefix=$HOME/tmux --disable-shared
make
make install
cd ..
############
# ncurses #
############
tar xvzf ncurses-6.1.tar.gz
cd ncurses-6.1
./configure --prefix=$HOME/tmux
make
make install
cd ..
############
# tmux? ? #
############
tar xvzf tmux-2.7.tar.gz
cd tmux-2.7
./configure CFLAGS="-I$HOME/tmux/include -I$HOME/tmux/include/ncurses" LDFLAGS="-L$HOME/tmux/lib -L$HOME/tmux/include/ncurses -L$HOME/tmux/include" CPPFLAGS="-I$HOME/tmux/include -I$HOME/tmux/include/ncurses" LDFLAGS="-static -L$HOME/tmux/include -L$HOME/tmux/include/ncurses -L$HOME/tmux/lib"
make
cp tmux $HOME/tmux/bin
cd ..
# cleanup
rm -rf $HOME/tmux_tmp
echo "$HOME/tmux/bin/tmux is now available. You can optionally add $HOME/tmux/bin to your PATH. i.e. export PATH=$PATH:$HOME/tmux/bin"