Screen類似windows多工作畫面

在此是針對只使用command line的朋友們,我想大家在使用putty(pietty)登入的時候一定會只使用一個終端機介面,而常常使用vim編完又要編譯程式的時候,就需要離開vim再編譯程式,編好有錯誤,又需要進入vim修改你的程式,這樣的動做實在非常的辛苦,大部份的時間都浪費在切換的時間中。

這邊我想提供大家一個使用終端機遠端連線的時候一定要用的一個套件就叫screen,這個東西有多便利呢?當你在putty下連線的時候,進入 screen這隻程式的時候,你已經具有多工作畫面了,你一定會覺得很奇怪在putty下面怎麼多畫面處理多樣事情對吧!但是只要透過screen的快速按鍵就行了,輕鬆切換(類似使用windows的alt+tab的方法)。這邊我提供了從裝好到使用,大家可以跟著試試看。

※ step1. 開始使用screen

$screen (開始執行這個程式)
因為screen所以它也有一些參數

-ls 列出目前有的screen
-r pid 回復工作環境

其它還有別的參數,但是上面兩個最重要囉!!

當你執行screen -ls的時候,可以列出你已建立的screen,但是目前不是在使用中,而你想要使用的話就執行screen -r pid(在-ls可以看到的行程代碼)這樣的話就可以重新的接上你之前建立的screen了(看不懂沒關系,等一下實際操做一下)而如果你的screen -ls之後只有單一個screen的話直接使用screen -r就可以回到本來的screen的工作環境了。

※ step2. 與法教學與使用

* 註:ctrl+a, c等的意思為「按下ctrl不放後按下a,之後全放在按下c」
* ctrl+a 這個是screen一開始全都要按的動做,之後就是組合鍵了
* ctrl+a , c 生成一個新的screen
* ctrl+a, p (previous) 切換到上一個screen
* ctrl+a, n (next) 切換到下一個screen
* ctrl+a, 0~9 切換到第0到第9個screen,如果你有開的話
* ctrl+a, w 列出目前已開啟的所有視窗
* ctrl+a, k (kill) 關閉目前正在使用的這個screen,但不是全部關閉所有的screen
* ctrl+a, i (information) 顯示目前視窗資訊
* ctrl+a, l 目前的screen重繪
* ctrl+a, d 暫時離開screen (超重要)
* ctrl+a, \ 砍掉所有的screen視窗,且離開screen (超重要)

※ EX1. 編寫程式使用

今天你想使用vim編輯你的程式,又希望編輯完可以馬上編譯,通常你都會多了進進出來vim的動做,今天就教你徹底的快速切換。

$screen
$vim test.c (進到vim寫東西)
在vim中進到指令模式(就是按下esc)後的command line mode,按下上面的快速鍵ctrl+a, c建立一個新的screen這時候,你就會看到我的視窗怎麼出來一個新的了,表示建立成功囉,那之前的那個呢?別急,按下ctrl+a, p就可以回到本來的vim中了,而要回到新的screen視窗的時候,按下ctrl+a , n 就可以回來囉。
(假設目前正在新的screen)
$gcc -o test test.c(編譯程式)
這樣出現錯誤的資訊馬上就可以使用ctrl+a, p切回去改,改完存檔後又可以ctrl+a, n切回來編,實在有夠方便的啦。

※ EX2. 不小心斷線

當如果你使用putty連線的時候,因為不小心與伺服器斷線或是因為某種原因沒有存檔導致編輯的檔案全都空了,這是件很幹的事情,但是當你使用了screen的話就放心啦。

執行了screen但是不小心因為系統不穩斷線的話,只需要重新登入主機重新執行screen -r就可以回復了,而如果你有眾多個screen被你建立的話,你需要screen -ls就可以看到總共你有多少個screen,而使用screen -r pid就可以回到你工作的狀態了。

※ EX3. 把工作環境帶到任何地方

執行了screen後不論你開了幾個screen (按下ctrl+a, c建立)做了多少的事情,如果有急事發生,或是下班了要回家了,那你可以很容易就可以把你的工作環境帶回家,你開了多少檔,有存沒有存都沒有關係,只需要按下ctrl+a, d就可以「暫時」離開screen這隻程式,但其實你還在背景執行著,等你回家之後下達 screen -r重新執行screen就可以自動連上你暫時離開的工作環境,但是如果你建立了眾多的screen,請先screen -ls看看你要連結你那一個工作環境。

0 意見: