進化版 screen - 踢馬克斯 tmux

标签: screen tmux | 发表时间:2011-10-24 13:05 | 作者:(author unknown) kylexlau
出处:http://josephj.com/
My tmux

一、screen 使用上的問題

開始使用 Linux 開發後,screen 就一直是不可或缺的工具。
可幫我隨時隨地回復先前的工作階段,但總有幾個小問題存在:

  • 不正常斷線後無法 re-attach

    在公司的 CentOS,若因各種原因不正常斷線,要再回復連線經常會被卡住。
    家裡的 Debian 比較少發生這種狀況、使用 tcsh 的同事(我用 zsh)也沒碰到。
    我一直沒花時間去了解此問題發生的原因,可以用就好 :p

  • 分割視窗功能過於陽春

    最近有個功能的開發,必須同時監控多份 Log 檔。
    因此開了一個 pietty 做監控,利用 screen 切了多個分割視窗達成我監控的目的。
    screen 沒辦法切垂直的視窗,所以我得另外開一個 pietty 做開發。
    此功能又得開至少兩個瀏覽器來做測試,多任何一個應用程式視窗都會讓我困擾。
    還有的小麻煩是 screen 的分割視窗沒辦法在 detach 後保持

是時間來研究一下湯姆所分享的 tmux,果然他解決了我以上所有問題,也感謝猴巴幫我裝起來 :D

二、tmux 是什麼?

tmux 的全名是 Terminal Multiplexer,也就是終端多工器的意思。
我查了發音應該可唸成「踢馬克思」(若有錯誤請提出指教啦 )。
據說作者也是因為 screen 用起來有許多不方便的地方,才打造了一顆新輪子!

三、screen 與 tmux 的比較

稍微整理一下 screen 與 tmux,大家就會知道 tmux 有多好了。

screen

screen 架構

screen 的架構很簡單,一個 screen 連線只能被一個 SSH 連線存取
一個 screen 可有多個 window
只支援水平分割、同時觀看多個 window


tmux

tmux 的架構

tmux 管理的東西較多:包括 Session(連線)、Window(視窗)與 Pane(窗格)。

tmux 優點 1 - 可以被多個 SSH 同時連線

tmux Session 可以被多個 SSH 同時連線,這點跟 Screen 很不同。
過去用 screen 你離開辦公桌的電腦,晚上回到家裡繼續工作時,必定得 detach 再 attach。
但是用 tmux 的話,你可以在家裡 attach,隔天到公司 tmux 並不會被 detach
所以若你開兩個 tmux 同時 attach 到同一個 Session 時,可以看到兩個視窗同時動作的有趣畫面喔。
所以在這樣的架構下,你就不用擔心像 screen 不正常斷線無法 detach 再 attach 的問題了。

tmux 優點 2 - 可在 Session 中切換到不同 Session

過去要從 screen 到另一個 screen 得先 detach,
但 tmux 只要用快速鍵(預設 Ctrl-b + s)即可切換到其他 Session
是不是很方便呢?

tmux 優點 3 - 強大的分割視窗

screen 只能做單一水平分割,但是 tmux 可以自由自在地水平或垂直分割
一個窗格被稱為 Pane,分割會被記錄至 Window 保存(screen 只要一 detach 就沒了)
且一個 Pane 可隨時轉換成 WindowPane 調整大小、位置的功能更是完整

四、我的 .tumx.conf

與大多數人相同,我並不想改變 screen 的使用習慣,
仍然設定 Ctrl + a (C-a) 為我的 prefix,以下是我在 tmux 常用的快速鍵:

?列出所有綁定的 Key
!將目前的 Pane 獨立成 Window
r重新整理目前的畫面
$重新命名目前的 Session 連線
`重新命名目前的 Window 視窗
&重新命名目前的 Window 視窗
o翻滾吧!Pane
!將 Pane 獨立成為單一 Window
h水平分割(上、下)
-水平分割(上、下)
v垂直分割(左、右)
|垂直分割(左、右)
x移除目前的 Pane
{將目前的 Pane 向左移動
}將目前的 Pane 向右移動
(alt) + 上下左右鍵調整目前 Pane 的大小
q顯示 Pane 編號
(Space)換 Layout

五、如何安裝 tmux ?

可能是我的 Debian 版本較舊,沒辦法使用 apt-get install tmux 直接安裝。
我是依據這一篇文章來做安裝的:Dsawiki: Install Tmux on Ubuntu
其他像是 CentOS 的安裝,建議都是手動下載 build 以下兩個套件:libevent-1.4.x-stable 與 tmux。

相关 [screen tmux] 推荐:

从 screen 切换到 tmux

- iworm - LinuxTOY
在我的 Linux 生活中,我曾做过几次重要的切换. 我先是从 Archlinux 切换到 Gentoo,后来又从 bash 切换到了 zsh. 现在,我又从 screen 切换到 tmux. 对于各个终端控来说,screen 是几乎每天都会使用的好工具,抛开确实不易. 但有了更加好用的 tmux,我为什么不切换.

進化版 screen - 踢馬克斯 tmux

- kylexlau - 這樣做就對了!
一、screen 使用上的問題. 開始使用 Linux 開發後,screen 就一直是不可或缺的工具. 可幫我隨時隨地回復先前的工作階段,但總有幾個小問題存在:. 不正常斷線後無法 re-attach. 在公司的 CentOS,若因各種原因不正常斷線,要再回復連線經常會被卡住. 家裡的 Debian 比較少發生這種狀況、使用 tcsh 的同事(我用 zsh)也沒碰到.

改变终端下的光标颜色,包括 screen 和 tmux!

- Wolf - 依云's Blog
曾经在Ubuntu中文论坛里看到一个改变光标颜色的方法,用光标颜色来指示是在 Vim 的普通模式还是插入模式下(因为 gnome-terminal 不支持使用转义序列改变光标形状). Vim Wiki 上的 tip. 可惜它不适用于当时我正在使用的 screen. 现在我改用 tmux 了,偶然改变TERM变量测试的时候,发现光标颜色竟然改变了——虽然还附带一些“不良反应”.

oCam(Screen Recorder) – 简单的屏幕录制工具

- - 小众软件
oCam(Screen Recorder) 是一款简单的屏幕录制工具,界面直观,还可以录制声音、截图. 如上图,被框起来的部分就是 录屏范围, oCam 内置了常用尺寸窗口大小,也可以手动调整大小. 支持 AVI、MP4、MOV、FLV 等格式. 还可以设置每次录制视频的时间限制,比如限制每段视频录制2分钟后自动停止.