<< screen 簡介 >>
前言
screen 已成為不少 unix 玩家必用的工具,screen 的種種「特異功能」
讓 UNIX 的使用更加便利。除了 scroll/copy/paste/switching... 外,
screen 的 ditatch/re-attach 更是讓前景程式享有背景執行的效果。
使用
打 screen 就進入一個 screen session 裏,在 screen session 下,
所有命令都以 C-a(^A) 開頭:
C-a c -> Create,開出新的 window
C-a n -> Next,切換到下個 window
C-a p -> Previous,前一個 window
C-a C-a -> Other,在兩個 window 間切換
C-a w -> Windows,列出已開啟的 windows 有那些
C-a 0 -> 切換到第 0 個 window
C-a 1..9 -> 切換到第 1..9 個 window
C-a a -> 送出 C-a,在 emacs, ve, bash, tcsh 下可移到行首
C-a t -> Time,顯示目前的時間,與系統的 load
C-a K(大寫) -> kill window,強制關掉目前的 window
C-a [ -> 進入 copy mode,在 copy mode 下可以回捲、搜尋、拷貝
就像用 vi 一樣
C-b Backward,PageUp
C-f Forward,PageDown
H(大寫) High,將游標移至左上角
L Low,將游標移至左下角
0 移到行首
$ 行末
w forward one word,以字為單位往前移
b backward one word,以字為單位往後移
Space 第一次按為標記區起點,第二次按為終點
Esc 結束 copy mode
C-a ] -> Paste,把剛在 copy mode 選定的內容貼上
C-a ? -> Help,顯示簡單說明
C-a d -> detach,將目前的 screen session (可能含有多個 windows)
丟到背景執行,這招就是 screen 的「特異功能」
當按了 C-a d 把 screen session detach 掉後,會回到還沒進 screen 時
的狀態,此時在 screen session 裏每個 window 內跑的 process (無論是
前景/背景)都在繼續執行,即使 logout 也不影響。
下次 login 進來時:
screen -ls -> 顯示所有的 screen sessions
screen -r [keyword] -> 挑個 screen session 回來 (撿回來)
若 screen -ls 裏有 Attached sessions:
screen -d [keyword] -> 強制 detach,以便「接手」過來
screen 的 detach 這項「特異功能」除了適合跑「背景性質」的前景程式,
另一種常見的用法是:
用 dos ncsa (或其它極不穩定的 client,或網路狀況極差)連上穩定的
screen server,執行 screen 後就可享有 server 的穩定性,比如說,
用 modem 連上某 FreeBSD account,再連到 bbs talk/post,當玩得正
起興時自己的電腦突然當機(或電話突然斷線),趕快再次連上 FreeBSD:
screen -ls -> 看看有那些 screen sessions
screen -d -> 意外斷線的 screen 通常仍在 Attached 狀態,
所以用 screen -d 強制 detach
screen -r -> 把剛斷線的狀況「撿回來」,繼續 talk,對方
根本不知自己斷線再重連 :)
更多的參考資料
C-a ?
man screen
/usr/ports/misc/screen
吳 慶 鴻,woju@freebsd.ee.ntu.edu.tw | 台大電機,http://freebsd.ee.ntu.edu.tw
pptp1:
new -i ng0 pptp1 pptp1
set ipcp ranges 192.168.1.1/32 192.168.1.56/32
load pptp_def
pptp2:
new -i ng1 pptp2 pptp2
set ipcp ranges 192.168.1.1/32 192.168.1.57/32
load pptp_def
pptp3:
new -i ng1 pptp3 pptp3
set ipcp ranges 192.168.1.1/32 192.168.1.58/32
load pptp_def
pptp4:
new -i ng1 pptp4 pptp4
set ipcp ranges 192.168.1.1/32 192.168.1.59/32
load pptp_def
pptp5:
new -i ng1 pptp5 pptp5
set ipcp ranges 192.168.1.1/32 192.168.1.60/32
load pptp_def
pptp_def:
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
set iface enable tcpmssfix
set bundle enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap-msv2
set link keep-alive 10 60
set link mtu 1460
set ipcp yes vjcomp
set ipcp dns 210.71.16.238
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
#
mpd.links :
#
pptp1:
set link type pptp
set pptp self 210.71.16.238
set pptp enable incoming
set pptp disable originate
pptp2:
set link type pptp
set pptp self 210.71.16.238
set pptp enable incoming
set pptp disable originate
pptp3:
set link type pptp
set pptp self 210.71.16.238
set pptp enable incoming
set pptp disable originate
pptp4:
set link type pptp
set pptp self 210.71.16.238
set pptp enable incoming
set pptp disable originate
pptp5:
set link type pptp
set pptp self 210.71.16.238
set pptp enable incoming
set pptp disable originate
#
mpd.secret :
#
userid password
#
後記:
其實只是為了能夠在校外使用內部網路資源才架這玩意兒,這東西讓我省下了不少數據轉移的時間。
日本12位現代建築師為aTimont所設計的12個桌上小建築
http://www.archifield.net/vb/showthread.php?p=4341