最近在 Linux 上開發一個與 Java 相關的專案。所有的作業都在文字終端機模式下執行,所以使用 screen 來當作多工的介面。因為是 web-based 專案,故從 Windows XP PC 工作機用 SSH 遠端連線到開發主機上,一面操作,一面以瀏覽器檢視輸出。
專案的開發需要一次開好幾個終端機視窗,screen 即使不作任何設定,也已經是一個非常方便的工具了。不過,其實我們還可以透過它的資源檔,直接指定所有工作視窗 (screen 的 window)。這樣不只能少打一點字,順便可以紀錄相關的工作檔案。
預設的 per-user 資源檔是 $HOME/.screenrc ,資源檔裡可以用 screen 指令來開啟視窗。
舉例說明
舉例子說明會比較清楚。如果我們希望 screen 在執行之後就開出兩個視窗,則 screenrc 可以這樣寫:
screen screen
如果我們想在開視窗的同時指定視窗的編號,可以寫成這樣:
screen 0 screen 9
開出來的兩個視窗編號分別是 0 和 9。
基本上 screenrc 裡的 screen 指令,與 screen 環境下 Ctrl-a c 的動作是一樣的。
screen 除了可以指定視窗的編號,也可以指定標題 (caption/title)。例如:
screen -t monitor 0 screen -t daemon 9 tail -f /var/log/daemon.log
除了用 -t 參數指定標題之外,還可以在視窗編號之後指定該視窗要執行的程式。如果像之前不指定程式,預設就是啟動一個 shell;啟動程式的話,視窗會在程式執行完畢之後關閉 (不像先開 shell 再啟動的程式結束之後,還會回到 shell,因為 screen 是跳過 shell 直接喚起程式的)。
像 screen -t name 0 command 這種使用方式,也可以在 screen 執行環境裡使用。
另設資源檔
如果把工作專案相關的 screen 視窗設定在預設的 $HOME/.screenrc 裡,那不管是不是要工作,都會叫出工作用的視窗了。為了避免這個問題,最好把工作用的 screen 視窗設定寫到另一個資源檔,工作時再用像:
screen -c ~/.screenrc.work
這種方式叫出視窗。如果想要更方便一點,也可以設一個 alias:
alias scrwork='screen -c ~/.screenrc.work'
只要打 7 個字元就可以開始工作了。
- Previous: 舞HiME 第十七話 『うそつきな、唇』 @2005/01/30
- Next: COREBlog 1.1 released @2005/01/31
Please send trackback to: http://blog.seety.org/everydaywork/2005/1/31/213/trackback/.
會完全沒有辦法顯示中文
變奇奇怪怪的火星文字
有沒有辦法解決這個問題??
ssh/telnet 是都沒有問題啦,不過 irssi 就不太能用 screen 硬幹了。
-----
piaip 另外從 putty 改了一個 pietty,是用來解決 putty 一些中文的問題,也許也可以試試看,
不過 peitty 因為一些開發上的原因,並不是非常 open source。
這對注重安全的 ssh client 算是一個缺點。
商用程式可以試試 SecureCRT,在轉換成 putty 之前我都是用這個。
其實平常我上 bbs 都是用 putty,看 ANSI 圖是會有一些破損的狀況出現,不過不太影響我的使用。
中文亂碼則是從來沒有出現過,Big5、UTF-8 我都用,
配合 screen 還可以組態成混合環境,已經非常方便了。