2007/05/24

[Linux] 圖解 Screen 教學 [一] 基本應用篇說明

Linux Journal有篇文章也有介紹 Screen 。
多好用呢?

我一開是為了離線工作,還有爛爛的網路才學這個東西的,但是其實它的功能不僅僅如此:

1. 提供離線繼續工作。
2. 多視窗(Window)工作
3. 營幕切割(Region Split)讓你可以不用切換來切換去。
4. 編碼自動轉換

上面的功能可能要自已真的去用才有深刻的體會,本篇只先來介紹怎麼使用,另外附上筆者目前在用的 .screenrc 跟 .bashrc 裡頭的修改,有需要的人請自行下載回去,放在自已的家目錄裡頭,就可以有跟筆者一模一樣方便的 screen 環境可以使用:
1. 先開一個 terminal 像是 gnome-terminal (用 pietty/putty 連進來也算)
2. 打 screen 開始使用,接著會出現 screen 的版權頁。

按 space 就可以繼續
3. default 沒有設定的話, screen 只會為你先開一個 window
接下來如果要再開新的 window 就要按
Ctrl + a 再按 c
就可以 Create 一個新的視窗。


4. 如果要在視窗之間切換可以用

Ctrl + a 再 n #就可以跳到 下一個(Next)視窗


如果是上一個視窗,可以用

Ctrl + a 再 p #就可以跳到上一個(Previous)視窗

5. 如果嫌麻煩可以按

Ctrl + a 再 " #就可以得到視窗列表

如果嫌慢,就把視窗號碼記住,用

Ctrl+a 數字 [0-9] #來做視窗跳躍



6. 如果還沒做完一樣工作,像是一邊還在 wget http://xxx.edu.tw/pub/linux/xxx.iso
現在想離線,但是又想讓這個工作做完怎辦?

當然你可以先給個 break ,再用 wget -b -c http://xxx.edu.tw/pub/linux/xxx.iso 解決,
但是如果你用 screen ,我就會建議直接

Ctrl + a 再 d #意思是 detach 。

下次連線進來再

screen -R session-name # Resume session
就可以。
如果不知道 session name ,可以用

screen -list

列表出來。


接著要介紹 region 的用法:
在修改 某個程式時,一邊還要再 refer 到 header include 的檔案,這種情況大家都遇過吧?
這時應該很希望可以切出兩個 display ,一邊看一個。 (哎呀... xorg 可以做雙營幕,好像比這個好多了.. 但是不是每個人都很有錢,可以配雙營幕。)
所以只好按下

Ctrl + a 再 S #(大寫的 S)


就會像上面那樣把營幕切成兩半 (按愈多切愈多)

接著要使用這個 region 就得按

Ctrl + a 再 tab #先把 focus 跳到下一個視窗
,再按

Ctrl + a 再 c #(建立) 新視窗,或著 號碼跳選其它視窗。



--
附錄 一:
screen 查詢快捷鍵:

Ctrl + a 再按 ?



附錄二:
我的 screenrc

wget http://anton.tw.googlepages.com/screenrc -O ~/.screenrc


附錄三:
screen 自動使用目前在跑的程式當作 title 需修改 .bashrc 的部份

export PS1='\033k\033\\\\${debian_chroot:+($debian_chroot)}\u@\[\033[01;34m\]\h\[\033[00m\]:\w$ '


附錄三:

Ctrl + a 再 Q #可以關閉所有的 region
Ctrl + a 再 X #可以關閉目前的 region


updated: 2007-11-06 更新 PS1 的部份,有些 TERM 上面表現的很難看。

2 則留言:

匿名 提到...

還是不會用ㄋㄟ....
可以寫詳細一點嗎?
包括如何安裝screen....
感激不盡....

anton 提到...

screen 的安裝應該是最不需要說明的吧?

在 ubuntu/debian 上面就是 apt-get install screen
在 Fedora 上面就是 yum install screen
在 mandriva 上面就是 urpmi screen

應該不需要講解這個部份才是,如果真的連這個地方都還沒了解,不建議你在還沒了解基礎的操作就開始想安裝非預設的軟體喔~

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...