google code-beautifer

星期三, 12月 22, 2010

Synergy

Synergy

Synergy 可以想成是軟體做的KVM,讓你在多部不同操作系統的電腦之間共用鍵盤和滑鼠,而仍然以各系統自身的螢幕顯示資料,正常當鼠標移到螢幕邊緣時會停住,而兩台電腦經Synergy 連接後,當滑鼠從一個螢幕滑動超過邊緣時,他會跳到另一個螢幕。而且當滑鼠在另一個遠端(client)螢幕上的時候,本地(server)鍵盤的輸入就會直接送到遠端去,也支援個別互相剪貼功能(不過目前是沒有加密的),而且遠端螢幕上的一些功能如compiz的旋轉方塊預覽也相容。Synergy 透過網路把多部電腦連起來的。除此之外,無需特別的硬體。。這對一些需要即時監控螢幕,但是螢幕更新傳輸的資料量太大,比如說按一個鍵去播放看電影這些不適合用NX 或vnc 方式遙控的場合最好用。

大部份的 linux 發行版都己提供 Synergy 套件的線上安裝。mac 跟 windows的環境去官方網站 http://synergy2.sourceforge.net/直接下載來裝。

編寫Synergy 設定檔


通常儲存在 ~/.synergy.conf 。設定檔的內容,需要設定三組section 參數:分別是screens ,aliases 和links。
screens 裡面填入電腦的名稱, screen代表你整個架構裡有多少個螢幕(screen,其實是指電腦,不論一台電腦接多少台螢幕,還是用一個screen名稱 ),那些電腦在Synergy下叫什麼名字是由你自己定義的,跟什麼網路名無關。本例中有兩個screen , 分別命名為 mdv和macos 。要是screens那裡用的電腦都是用hostname的話,alias那邊就不用指定了

alias 裡面指定 screen 們電腦名字所對應的網路位置代稱,用hostname 或 IP 均可。如例中桌機 mdv 在 192.168.1.1 。在 dhcp 動態分派位址的網路環境中,我們沒有固定的 ip 可對應時,可以用hostname 來設代稱。

links 裡面指定以 right , left , up , down 四個關鍵字代表相對應此電腦右左上下四個位置的對方電腦。指定一旦滑鼠超過了目前螢幕範圍,該跳到對應目前電腦screen 所在(桌面上的)實際位置上的那台電腦:

為方便解釋,假設有兩台電腦要用 Synergy 連接。桌機 mdv (IP:192.168.1.1)在右手邊,macos在左手邊,這樣為例的設定檔是這樣的:

section:screens
    macos:
    mdv:
end

section:links
    macos:
        right = mdv
    mdv:
        left = macos
end

section: aliases
    mdv:
        192.168.1.1
    macos:
        192.168.1.2
end

在Linux 下安裝 quicksynergy 套件,就可以用 Gui 介面方式來方便的設定。

執行


Synergy 是透過網路把多部電腦連起來的。所以要確定電腦之間的網絡連線正常。防火牆參數必需完全正確設定 Synergy 才能運作。 Synergy 預設用 port 24800 ,設定連線前確保 tcp port 24800 沒有被防火牆擋掉。

安裝 Synergy 後我們會得到兩個執行檔 : synergys 和 synergyc ,synergys是 server , synergyc 是client 。在 Synergy 裡的 Server指的是分享出鍵盤、滑鼠的主控端。看是要用那台電腦當 server 分享鍵盤滑鼠,那台電腦當client 被控制。以筆記型電腦跟桌機分享為例,桌機的鍵盤、滑鼠比較好用,所以一般是把桌機當server,但是也可以倒過來用。因為是deamon,倒不用堅持先啟動server 再啟動client。

以下的執行操作適用於 Mac 和 Linux 系統:
要啟動 Synergy server 的話,執行
synergys
用參數 -c 指定 Synergy 參考那個設定檔來啟動 service。比如
synergys -c ~/MySynergys.conf
不加的話預設是參考 ~/.synergy.conf

要從 client 連到 server 的話,我們執行 synergyc 之後接要連去的電腦位址。本例中是
synergyc mdv
啟動時不加參數是預設在背景執行。一開始遇到問題的話,可以在啟動時加上-f參數去看錯誤訊息,如執行 Synergy server是 synergys -f

預設為 scroll lock 為解除狀態,設定好之後 mdv 機器為右邊機器,macos 為左邊機器,此時滑鼠就可以兩台電腦移動。