screen multiple input hack. :)

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

screen multiple input hack. :)

文章BBNS » 週六 7月 10, 2004 5:19 am

聲明:
感謝vgod撰寫的patch,一個晚上就弄出來了。 :-D

源起:
當你擁有五六台電腦甚至數十台或是Cluster,要同時更新Kernel會怎麼作呢?一台一台登入然後一台一台輸入指令?

現在不用那麼麻煩,screen加上patch就能做到指令只需要輸入一次,就能幫你傳給指定的一群電腦。

下面是轉錄自vgodroom在ofo.twbbs.org的文件:
剛才對screen作了一番手腳, 現在它可以把輸入的按鍵一次送到多個窗了

這個hack對於需要管理大量相同機器的人會很有用
你可以照舊輸入指令, screen就可以把指令直接送到指定的其它窗去
於是,再也不用作N次一模一樣的事情了!!

Usage:

Ctrl-A :sendto [window list|regex|'*'|'.']

window list是一連串用','分開的數字, 代表要把指令送到哪幾個window
例如:
C-A :sendto 1,3,4,5
這樣只要在1,3,4,5這些window中的一個輸入指令, 其餘的窗就會收到一樣的指令

另外也可以用regex
例如:
C-A :sendto linux.*[1-5]
這樣就等於設定了所有window title是linux.*[1-5]的窗

:sendto後面可以接'*', 代表所有的window (包括任何之後新開的window)
如果要disable sendto的功能, 可以用:sendto '.'或是不接任何參數

需要特別注意的是, 現階段用sendto設定的list是不會自動更新的
這意思是, 如果你設了一個sendto的list
把window kill掉並不會把該window從sendto list中拿掉
同理, 如果你用regex設了一個pattern
即使之後新開的window如果title有match該pattern, 它也不會被列入sendto list中


----
patch for screen 4.0.2
http://vgod.info/projects/screen-sendto ... vgod.patch

debian package(unstable)
http://vgod.info/projects/screen-sendto ... d_i386.deb



TODO:
目前這個程式還有一個問題,就是當你將window #5關掉後重新開一個新的視窗(這個視窗同樣會被assign到window #5),該視窗還是會在sendto功能的影響。會儘快修正。

BUGREPORT:
請告訴我或vgod :-)

維護:
vgod & BBNS
BBNS
懵懂的國中生
懵懂的國中生
 
文章: 156
註冊時間: 週六 2月 22, 2003 3:18 pm

re:screen multiple input hack. :)

文章d2207197 » 週六 7月 10, 2004 4:46 pm

唔~~
原來 screen 還可以這樣玩阿
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客