服務器的任務不間斷運行,就是利用了tmux的特性。就是說,通常ssh是斷開就會中止全部以前鏈接ssh期間運行的全部processes,而tmux的核心業務不在於把屏幕分紅幾塊好看,而是它能保存session!並且還能多端實時直播session!
瞭解tmux的安裝和使用已經理解,這個短視頻足矣!若是想試試tmux的session共享,讓別的機器或別人像直播同樣看你在命令行裏打字、操做,也用tmux一句話便可,參考這個視頻。git
我萬萬沒想到,將vim打形成IDE、將腳本不間斷運行、讓任務運行狀態多處可觀看的tmux,是這麼簡單。
一句sudo apt-get install tmux
就安裝好,一句tmux
就開啓,一句tmux new -s <session-name>
就能夠建立和保存session。超絕!github
經常使用操做快捷鍵參考。shell
#啓動新會話: tmux [new -s 會話名 -n 窗口名] #恢復會話: tmux at [-t 會話名] #列出全部會話: tmux ls #關閉會話: tmux kill-session -t 會話名 #關閉全部會話: tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
所謂內部命令
,就是進入Tmux後的指令。在按下前綴鍵
後的命令,通常前綴鍵爲Ctrl+b
.
#會話 :new<回車> 啓動新會話 s 列出全部會話 $ 重命名當前會話 #窗口 c 建立新窗口 w 列出全部窗口 n 後一個窗口 p 前一個窗口 f 查找窗口 , 重命名當前窗口 & 關閉當前窗口 #窗格(分割窗口) % 垂直分割 " 水平分割 o 交換窗格 x 關閉窗格 ⍽ 左邊這個符號表明空格鍵 - 切換佈局 q 顯示每一個窗格是第幾個,當數字出現的時候按數字幾就選中第幾個窗格 { 與上一個窗格交換位置 } 與下一個窗格交換位置 z 切換窗格最大化/最小化 #調整窗口排序 swap-window -s 3 -t 1 交換 3 號和 1 號窗口 swap-window -t 1 交換當前和 1 號窗口 move-window -t 1 移動當前窗口到 1 號 #同步窗格 #這麼作能夠切換到想要的窗口,輸入 Tmux 前綴和一個冒號呼出命令提示行,而後輸入: :setw synchronize-panes #調整窗格尺寸 #若是你不喜歡默認佈局,能夠重調窗格的尺寸。雖然這很容易實現,但通常不須要這麼幹。這幾個命令用來調整窗格: PREFIX : resize-pane -D 當前窗格向下擴大 1 格 PREFIX : resize-pane -U 當前窗格向上擴大 1 格 PREFIX : resize-pane -L 當前窗格向左擴大 1 格 PREFIX : resize-pane -R 當前窗格向右擴大 1 格 PREFIX : resize-pane -D 20 當前窗格向下擴大 20 格 PREFIX : resize-pane -t 2 -L 20 編號爲 2 的窗格向左擴大 20 格
它雖然好用,可是缺點是關機的話session就全都消失了。要解決這點,須要安裝單獨的插件。
這個時候你就須要Tmux-Resurrect
插件來了,地址在這。
插件說明裏很清楚的寫了,tmux一旦關機,就會失去一切的設置。因此還必須用插件來解決。
安裝方法:vim
和vim同樣的思路,須要先安裝tmux專屬的插件管理器,通常都是用這個:tmux plugin manager
,即tpm。注意:文檔裏面都會提到prefix + ...
,其中prefix
指的是tmux的命令前綴,默認是ctrl+b
。bash
按照官網的作法,很簡單就安裝上了,輸入下面命令:服務器
# 把管理器文件安裝到`~/.tmux/plugins/tpm`之下 此前這些目錄是不存在的 git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm # 新建配置文件 touch ~/.tmux.conf vim ~/.tmux.conf # 將下面內容複製到`~/.tmux.conf` # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' # Other examples: # set -g @plugin 'github_username/plugin_name' # set -g @plugin 'git@github.com/user/plugin' # set -g @plugin 'git@bitbucket.com/user/plugin' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' # 在tmux運行的時候,找到任意窗口輸入下面這個完成安裝管理器: tmux source ~/.tmux.conf
在tpm管理器基礎上,咱們直接到~/.tmux.conf
文件裏的List of plugins
部分,寫入插件名稱,而後按Ctrl+b
,再按Ctrl+I
,這裏面是大寫的i。而後程序就會自動下載安裝好插件了。session
tmux-resurrect
插件因爲tmux不能持久保存session的特性,咱們須要安裝這個插件來將session的設置徹底保存到本地,而後重啓後也可以快速恢復窗口等設置的內容。
首先在~/.tmux.conf
文件的List of plugins
部分加入這句話:ssh
set -g @plugin 'tmux-plugins/tmux-resurrect'
保存好後,在tmux的任意窗口按ctrl+b
及大寫的I
,便可完成下載安裝。佈局
prefix + Ctrl-s
- 保存sessionprefix + Ctrl-r
- 恢復session這是由於tmux默認TERM沒有用256color,那麼每次運行tmux時指定color便可,TERM=screen-256color-bce tmux
,或者更簡單一點,在~/.bash.profile
或者~/.zshrc
中設置別名:this
alias tmux="TERM=screen-256color-bce tmux"
而後在~/.tmux.conf
文件中加入這句話:
set -g default-terminal "xterm-256color"
tmux中鼠標滾屏默認是關閉的,且不是很容易像開關同樣開啓支持。
看過了一些stackoverflow嘗試了一些解決方案,發現沒有一個管用。若是比這個還麻煩,暫時我就以爲沒有必要再折騰了,直接用原生的屏幕滾動瀏覽快捷鍵便可:Prefix + [
,而後直接用上下箭頭,或者PnUp和PnDown便可
Tmux的配置文件
配置文件默認位於~/.tmux.conf
.
平常使用中,前綴鍵Ctrl+b
和切換窗口鍵Ctrl+o
等等,實在太麻煩了。因此改快捷鍵有時候是很必要的。
參考這篇文檔。
個人配置以下:
# 基礎設置 #set -g default-terminal "screen-256color" set -g default-terminal "xterm-256color" # recover colorful terminal set -g display-time 3000 set -g escape-time 0 set -g history-limit 65535 set -g base-index 1 set -g pane-base-index 1 # 前綴綁定 (Ctrl+a) #set -g prefix ^a #unbind ^b #bind a send-prefix # 啓用鼠標(Tmux v2.1) set -g mouse on # 選中窗口 bind-key k select-pane -U bind-key j select-pane -D bind-key h select-pane -L bind-key l select-pane -R # copy-mode 將快捷鍵設置爲 vi 模式 setw -g mode-keys vi #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< # Tmux Plugin Manager(Tmux v2.1) #== TMUX PLUGIN MANAGER ==# # Tmux Resurrect set -g @plugin 'tmux-plugins/tmux-resurrect' # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>