2009年7月27日 星期一

kvm( synergy 設定 )

既然要講KVM,當然就是要解釋一下KVM

KVM指的就是鍵盤(Keyboard),螢幕(Video)與滑鼠(Mouse)的縮寫

意思是透過切換器,用一組鍵盤和滑鼠或是螢幕來控制兩台以上的電腦
##CONTINUE##
----------------------------------------------------------------------------------------
當初暑假一開始時,阿翔就把平常用的作業系統改成fedora後,大部分的使用都沒問題,但是還是在很少部份的地方上需要windows(例如:載gogobox時),雖然在linux有wine可以執行windows的程式,但我覺得很多軟體在wine上執行多多少少都會有某些問題(也可能是我不太會設定wine),就想把再把家裡的一台電腦拿來安裝xp,所以就去買了某大廠的KVM,而kvm就是像這樣


沒想到某大廠的KVM我才用了幾次就..............壞了,所以後來就只好先安裝virtualbox,來頂替一下,不過virtualbox在阿翔的這台四年前的單核心桌機上,表現實在差,不管是fedora或是模擬xp,程式常常lag到要強制結束,後來看到家中又多一台17吋的LCD,就想到可以使用軟體的kvm。

軟體的kvm首推就是open source的synergy,首先來說明一下這套軟體的原理左邊這台是xp,而右邊這台是linux,而各位所看到的滑鼠跟鍵盤則是接在linux的主機上,而軟體kvm的作法則是要利用區域網路來達到左邊的xp也能被linux主機上的鍵盤滑鼠來操作。

硬體基本需求如下
兩台LCD、主機(兩台網路要能互通)
一組滑鼠鍵盤

安裝方式:
synergy是一個可以跨平台的軟體,所以在windows、linux、mac os都可以使用
windows和mac os的使用者:請去官網下載安裝檔
linux的使用者:
建議從yum或apt中安裝。

軟體的設定

synergy分成server跟clinet,server指得是有鍵盤滑鼠主機的那台,clinet不用設定,因此要來設定的是server端。

因為看網路上大部分的教學都是使用windows作為server,而windows的設定方式相對簡單很多,阿翔是希望使用linux作為server,所以這設定是以linux為主。

首先既然作為server端,所以ip當然要先固定起來(也可以固定hostname),阿翔在家中兼具網路管理員的身份,所以修改DHCP的設定當然有權限的。

而synergy的設定檔軟體不會自動產生,因此要先下這指令去新增


vim ~/.synergy.conf

新增之後,synergy的設定方式如下


section:screens //螢幕的名稱,這名字可以隨便取
fedora:
winxp:
end


section: aliases //接著指定server的ip作為辨識。
fedora:
192.168.1.11
end

section:links//螢幕連接方式
fedora: //server端的fedora
left = winxp //server端的左邊是winxp
winxp:
right = fedora
end

設定完之後,要下這指令讓設定讀進去
synergys --config ~/.synergys.conf

最後,防火牆要開TCP 24800

接著在server下這指令,用前景跑看看synergy

synergys -f //-f要求用前景執行,用來debug用

而clinet端為linux則要下

synergyc -f [server ip]

clinet端為windows則要在軟體clinet的部份輸入server的ip

理論上這樣子應該就可以跑了,就是像影片這樣,滑鼠可以穿越兩台螢幕




至於要如何設定成開機執行
windows:軟體介面上有個開機執行勾起來就可以
linux:則是要在~/.bashrc中加入這個指令

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
synergys


最後就YA,很酷阿

4 則留言:

  1. 請問螢幕也可共用嗎?

    回覆刪除
  2. 螢幕不可以共用,如果要螢幕共用的話,可以使用硬體的KVM或是VNC這類軟體

    回覆刪除
  3. linux client端請問如何設定阿??我的server端是XP已經設定好呵~原本是跟筆電XP共用~但是現在筆電改ubuntu,client不知如何設定~想請教您

    回覆刪除
  4. linux當clinet端的話,只要知道server端的ip,然後在終端機底下輸入synergyc -f [server ip] ,這樣就好了,至於-f是指前景執行,試成功之後就可以不用加進去了,如果希望每次開機都要執行,可以修改 /etc/fstab 或是把指令加在 /etc/rc.d/rc.local

    回覆刪除