跳到主要內容

好用的工具 Tmux

介紹


Tmux 是一套最近接觸到於 tty 下的多程式視窗工具,類似很多老手在使用 Linux or BSD 就有使用 GUN Screen 這一個程式。使用 tmux 和 screen 最大好處在於遠端管理的時候,如果需要執行相當耗時的程式,可以讓我們在離開(或許這裡稱「斷開」比較合適)的時候還可以繼續的執行,下次回來的時候再「取回」之前的內容即可。
Tmux 和 Screen 不同的地方,主要在於:
  1. 視窗分割
    在一個視窗中縱向或是橫向分割許多視窗
  2. 視窗切換
    在 Session 中相互切換
  3. 多人共用視窗
    可以被多個 ssh 連線共用一個  tmux session
Screen 和 Tmux 的架構圖,可以參考下面兩張圖(圖片來源:這樣做就對了)

Screen 架構:
Screen 一次只能有一個連線,切換視窗必須先 detach。

Tmux架構:
Tmux 有 Session、Window、Pane 的概念,而且隨時可以作彈性切換,將 Pane 獨立成新的 Window。

安裝


目前在常見的 Linux distributions 中都可以利用套件庫安裝,如果沒有也可以下載 Tarball 來安裝:
  1. 自行下載 Tarball 安裝,下載位置 Tmux(目前最新為1.6版)
  2. uBuntu 安裝
    # sudo apt-get install tmux
  3. CentOS 安裝
    # yum install tmux

$PS1顯示問題


安裝完 Tmux 在 tty 中輸入 tmux 可以啟動進入,如果有在 .bashrc 中設定 $PS1 的顯示方式,uBuntu 中(測試為 uBuntu 12.04)會發現失去設定的效果,而在 CEntOS 6.2 中顯示為正常。要如何修正讓在 Tmux 環境中仍然可以正常顯示?
開啟 .bashrc 檔案,找尋 「case "$TERM" in」部份,加入 screen 項目(如下紅字部份)再重新進入tmux 環境即套用設定。(參考資訊)
case "$TERM" in
xterm*|rxvt*|screen*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

如果之前已習慣使用 Screen 也沒有關係,可以參考 Tsung's Blog 文章「Tmux 教學 + Screen 到 Tmux 的無痛轉換」,最後附上安裝後的圖~真的視窗切得很愉快 :)


留言

這個網誌中的熱門文章

USB裝置無法安全移除解決之道

USB裝置在日常生活的應用上已經越來越普遍,相機、隨身碟、MP3、外接式硬碟等等。當我們在使用了這些設備後,專家都會建議我們一定「 安全的移除硬體裝置 」,尤其在使用了外接式儲存設備以後,正確安全的移除才不會造成設備或資料的毀損,尤其是資料的毀損可就嚴重了。 有時候存取傳送完這些設備後,在移除硬體裝置時會出現「 '一般磁碟區'裝置無法立即停止.請稍候再試 」,這表示還有應用程式還在存取這個裝置,造成無法順利的移除,通常我們只要把存取該裝置的應用程式關閉或移除,有部分軟體需要先把瀏覽到別的資料夾(非外接裝置的資料夾)例如:使用AcdSee、Total Commander之類的軟體。 很多人即使關掉所有的應用程式,無法安全移除的問題還是存在。這是因為系統寫入快取的問題,當寫入資料到外接設備時有些檔案並沒有真正的寫入,而是暫時放到快取,當快取快滿或是要關機時才真正的寫入到外接設備,有時候系統會莫名的忘了寫入...XD,在移除裝置時就會出現上述無法立即停止的錯誤訊息,在網路上爬了一些文,通常這類事件只要 登出再登入 目前的系統使用者帳號就可以獲得解決了。 當然,如果要一直登出登入登出登入,應該會氣到想砸電腦(像辦研討會時,每個講者都是拿USB來插來插去 >. unlocker (236 kb),這款Freeware的軟體,讓你將不需要再當登入登出狂人。 Unlocker 軟體性質: Freeware 最近版本: 1.8.6 作業系統: Windows 2000 / XP / 2003 / Vista 語言界面: 繁體中文 原創公司: Cedrick 'Nitch' Collomb >> Download 滑鼠右鍵 ,在右鍵選單中會多了一個Unlocker的選項,點選Unlocker,這時就會看到是什麼程式或程序還在使用此設備,點選該程式選「 解鎖 」,完成後應該就可以順利在系統列上安全的移除硬體裝置了。

Word的合併列印如何出現「千分位」符號

今天樓下的同事突然問我一個問題,合併列印的時候如何顯示「千分位符號」(逗號),就是12 , 300。在Excel我們可以很容易的為儲存格裡的數字加上千分位的標記,但是儲存格實際儲存的還是只有數字,那個千分位符號是Excel給我們看的一種「格式」。 當我們在Word裡使用Excel做好的報表來合併列印的時候,Word會最真實的將這個數字欄位給讀出來,呈現在合併列印的欄位數值裡,無論在Excel理事不是有設定千分位符號,在Word合併列印後卻沒有出現,所以我們同樣的必須給他加上格式。 Word裡加上格式並不如Excel裡按一下就完成,加上逗號的千分位格式方法如後: 1.在Word裡插入合併列印的欄位變數。 2.在變數上按滑鼠右鍵,選擇「切換功能變數代碼」(也可以直接按Alt+F9),變數會由 經費 >> 變成 { MERGEFIELD "經費" } 。 3.加上格式就是把 { MERGEFIELD "經費" } 在}前加入數字格式參數 /##,###,會成為 { MERGEFIELD "經費" /# ##,### }(這裡指定五位數,以此類推) #:這個格式項目會指定要在結果中顯示的必要位數;如果結果不含該位數的數字,則 Word 會顯示一個空格。 0:這個格式項目會指定要在結果中顯示的必要位數;如果結果不含該位數的數字,則 Word 會顯示 0 (零)。 4.預覽內容,就可以發現千分位(逗號)出現,如果數值有零的話,最好可以換成 /# ##,## 0 ,避免空格出現。 數字格式參數請參考 Microsoft Office Online 。

使用者只能 SFTP 登入自己的家目錄

使用者只能 SFTP 登入自己的家目錄 老師的電腦動畫課堂的期末作品,是開放讓學生透過 FTP 上傳自己的作品及網頁至實驗室的伺服器,由於 FTP 是明碼的封包傳輸於最近升級系統後,便考慮改用 SFTP(SSH File Transfer Protocol)來提供上傳的服務。 提供 SFTP 上傳的同時,希望使用者和以前一樣只能使用 SFTP 無法使用 SSH 登入伺服器。SFTP 為 SSH 的檔案傳輸服務,預設建立帳號的時候使用者同時可以使用這兩種服務。透過 SFTP only + Chroot 設定我們能限制使用者僅能 SFTP 並且無法離開自己的家目錄去到處閒晃。 安裝 OpenSSH 如果安裝的是 Ubuntu Server 應該在安裝過程會安裝 openssh-server 套件,沒有的話可以利用下面的指令安裝。 $ sudo apt-get install openssh-server 新增一個給 SFTP 使用的群組 sftpaccess $ sudo groupadd sftpaccess 修改 OpenSSH 設定檔 編輯 /etc/ssh/sshd_config 設定檔,在約 77 行的地方找到 Subsystem sftp /usr/lib/openssh/sftp-server 註解此行並修改為 Subsystem sftp internal-sftp 。 $ sudo vim /etc/ssh/sshd_config #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp 在檔案的尾端加上下面的片段 Match group sftpaccess ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 建立新的使用者並加入 sftpaccess 群組 在設定檔中,我們設置了 sftpaccess 這個群組套用要做 ChrootDirectory 的設定,所以我們將要限制的使用者,加入這個群組中。 $ sudo useradd ...