Synergy - 在多部電腦之間共用鍵盤和滑鼠,簡介及設定初探
**本文採用Creative Commons License 使用授權,您可以重製、散布、展示及演出這個著作,創作衍生著作以及對這個著作作商業利用,唯必須保留原作者的姓名標示。
官方網站:
http://synergy2.sourceforge.net/
據官方說明:
" Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own monitor(s). "
文中言 “Synergy 容許你在多部不同操作系統的電腦之間共享單一的鍵盤和滑鼠, 而仍然以各系統自身的螢幕顯示資料,而無需特別的硬體配合。"
好像不能理解?來看個例子。
假設你桌面上有三台電腦,一台跑 windows ,一台跑 Mac OSX , 一台跑 Linux ,每部電腦都有自己的螢幕跟鍵盤和滑鼠。
然後發生一系列事情:
1) 你在 Mac 看網頁
2) 在 Windows 那台機器上有人用 ICQ 叫你
3) 你的手要在 Mac 機的滑鼠上移開
4) 再去拿 Windows 機器上的滑鼠來用
5) 然後 Linux 機器的 irc 裡有人叫你
6) 所以你又要放下手上 Windows 的鍵盤滑鼠
7) 去用 Linux 機器的鍵盤滑鼠
你雙手要在三部電腦之間來回切換,但更多的情況是,你根本被搞亂了在用那台機子的鍵盤/滑鼠
有沒有比較方便的辨法呢?例如只用 Mac 機器上的鍵盤滑鼠去同時控制 Mac , Windows , Linux 三台電腦
當滑鼠在另一個螢幕上的時候,本地(server)鍵盤的輸入就會直接走到遠端(client)去!
這就是 Synergy 所實現的功能,嗯... 的確是帥死了,而且很方便,以下來看看怎樣實作。
實作部份:
在官方網站己有編譯好的 binary 執行檔案,在 mac 跟 windows 的環境直接下載來裝就對了。
linux 方面,建議不用官方的 rpm pack , 因為現在(2007年)大部份的 linux 發行版都己提供 synergy 套件的線上安裝:
例如 fedora :
su
yum install synergy
或 ubuntu :
sudo apt-get install synergy
裝好以後就要設定那台電腦當 server 分享鍵盤滑鼠, 那台電腦當 client 被控制。
好吧,到底 synergy 是透過甚麼把兩台電腦連起來的呢?
就是網路!網路啊!就跟 VNC 或是 Windows 的 Remote Desktop 一樣,Synergy 是靠網路把多部電腦連起來的。
所以在設定時要先確定電腦之間的網絡連線正常。
**注意 synergy server 預設用 port 24800 來監聽,設定前確保當 server 機器的 port 24800 沒有被防火牆擋掉。
現在我們了解 synergy 是用網絡把電腦連起來,接下來的問題是:
synergy 怎知道「那台電腦在左邊?」「那台電腦在右邊?」
「滑鼠跳出螢幕邊沿後應該向左走還是向右走?」
為方便解釋,我們假設有兩台電腦要用 synergy 連接。
要 synergy 正確運作,我們需要三組參數:
screen - 代表你整個架構裡有多少個螢幕(即多少台電腦),而那些電腦叫甚麼名字,這些名字是由你定義的,
本例中有兩個 screen , 分別命名為 pc 和 mac ,你也可以把 screen 命名做 dog 和 cat ,只要你知道 dog 和 cat 是代表那台電腦就好。
alias - 代表 screen 所在的網路位置,如本例中 pc 在 192.168.1.1 。
alias 不限定用 ip ,你也可以用 hostname 甚至 domain name 代替,例如 pc : windows / mac : mac.local
在 dhcp 分派位址的網路環境中,我們沒有固定的 ip 可對應時,就會用 hostname 來設 alias 。
link - 代表 screen 所在的實際位置,本例中 pc 在左手邊,mac 在右手邊,如果 pc 放在 mac 上面的話,我們可以設 :
up = pc , down = mac
link 裡面以 right , left , up , down 四個關鍵字代表電腦 右左上下 四個位置。
看到這裡我們就明白,原來 synergy 是以參數 「link」 來控制滑鼠該向那個方向跳到那台電腦上面的!
注意,這些參數必需完全正確設定 synergy 才能運作,所以初用 synergy 時常常會有「怎樣設都分享不了」的錯覺發生,這時候不用懷疑,
一定是設定有錯或是被防火牆擋了,繼續耐心弄一定會弄好!
Synergy 的 windows 版本有個非常簡明的圖形設定介面,從上文理解了 Synergy 的架構以後應該不難設定,所以 windows 版的安裝設定
我們就略過,但 Mac 和 Llinux 需要編寫一個設定檔及以命令列形式執行,來看看怎樣做吧。
**以下的操作均適用於 Mac 和 Linux 系統。
安裝 synergy 以後我們會得到兩個執行檔 - synergys 和 synergyc , 顧名思義 synergys 是 server , synergyc 就是 client 。
要啟動 synergy server 的話,我們執行:
./synergys -c ./synergys.conf
用參數 -c 指定 Synergy 參考那個設定檔來啟動 service。
本例中要從 client 連到 server 的話,我們執行:
./synergyc 192.168.1.1
就是 synergyc 之後接要連去的電腦位址。
最後我們要來看怎樣編寫一個 synergy 的設定檔。
以上圖為例,設定檔是這樣的:
section: screens
pc:
mac:
end
section: aliases
pc:
192.168.1.1
mac:
192.168.1.2
end
section: links
pc:
right = mac
mac:
left = pc
end
我們見到有三個 section 分別是 screens , aliases 和 links 。
screens 裡面填入電腦的名字(隨意命名)
aliases 裡面填入電腦的網路位址( IP 或 hostname 均可)
links 就是電腦的實際(桌面上的)位置
到這裡己講解完 synergy 的初步設定,更詳細的資訊可到官網取得。
by coffeeyy 27-AUG-2007


