我現在那台 ION HTPC 是放在客廳,而螢幕顯示當然就是我那台 40" Sony (40Z5500)液晶螢幕了。平常我當然是希望電視一打開、輸入源切換到 HTPC 後就只有出現 XMBC 超傻瓜級的多媒體控制介面,這樣才方便我全家人只需要 MCE 遙控器就可以控制要觀看的影片或是玩電玩等。
當然,為了達成 Zero-Administration 的目的,事前的規劃與設定等就要考量相當周到;自然,要在 XWindow 環境下要設定與安裝一些軟件有的沒的,那是一定要的。只不過,要把電視當成 PC 端的LCD 螢幕很不習慣,而且人都要跑到客廳來,這也很麻煩。所以,安裝個遠端遙控軟件,在其它地方 (包括在外面)作遙控管理是有必要的。
直覺會想到理所當然就是使用 VNC 軟件。而且 Ubuntu 9.10 Gnome 介面內就已經內建,只要設定啟動後就可以成為 VNC Server,可以讓支援 VNC 協定的各類平台 Client 端連結進來。不過,我對 VNC 很沒有好感,遠端控制效果實在不佳,所以打算找找看是否有支援原生 XWindows 傳輸協定的遙控軟件。結果爬了一些文,找到這個諸多 Linux 網友們口碑甚佳的軟件:FreeNX。
FreeNX 可說是相當獨特的軟件,在遠端遙控的技術上的確無出其右,竟然可以調和安全性與傳輸效能上,達成最佳的平衡。在傳輸協定上是 based-on SSH 資料傳輸加密,而且還能壓縮傳輸的資料,以降低傳輸的時間;再加上充分運用到 XWindow 傳輸的特性,使其 Server/Client 的遠端遙控效果極佳,就彷如在本機螢幕操控一般的順暢。 (更多 NX 的傳輸技術,可參考該公司 NoMachine - Getting Started with NX。)
在 Ubuntu 9.10 環境下安裝 FreeNX Server 也挺簡單的。到該公司網站上下載適合的版本 (32 or 64 bit 系統),然後在 console 環境下執行套件安裝程式即可,參考簡易的安裝步驟:
- Download the DEBs
- Change your working directory to the location where you saved the package and install it by running from a console:
# sudo dpkg -i nxclient_3.4.0-5_x86_64.deb # sudo dpkg -i nxnode_3.4.0-11_x86_64.deb # sudo dpkg -i nxserver_3.4.0-12_x86_64.deb
而 Windows-based 的 Client 程式安裝更是簡單,下載後直接執行 setup 程式一直按下去即可。我的筆電是使用 Windows 7 系統,安裝與執行是相當順暢,沒有任何相容性的問題發生。
至於連接的設定,我都是採用預設,然後輸入 Ubuntu 所在的 IP Address,填好登入的使用者與密碼就可以順利地登入並啟動遠端 XWindow 的介面。參考下圖。
相當的令人驚訝! 竟然我在 Remote 端還可以執行 MAME 的電玩模擬遊戲,還挺順暢的呢 (只不過音效沒有設定出來)。可想而知,這個 FreeNX 功能的確強大。
說它是遠端遙控 (Remote Control)應該是不太正確的,這應該是稱為遠端管理 (Remote Administration)才是。因為 FreeNX Client 遠端登入 Ubuntu 系統後,會啟始一個新的 XWindow Session,它並不會在 Server/Client 同步顯示同樣的畫面操作。
目前都是在區域網路內連結使用,爾後若是要從外面連回來,要注意的是,若有 Firewall 防火牆阻隔,那就記得開放 Port 22,這是 SSH 通訊協定預設的連接埠。
** 02/22 更新 **
參考: Ubuntu FreeNX Document。
另外一種更簡單的安裝方式,直接在 Terminal 輸入下列指令:
> sudo add-apt-repository ppa:freenx-team > sudo apt-get update > sudo aptitude install freenx > sudo /usr/lib/nx/nxsetup --install |
這樣的方式不用擔心是否有沒有安裝 SSH Server,若沒有安裝,上述方式就會自動關聯、一同安裝 SSH Server。 🙂
※ 延伸參考
o Ubuntu 加上 FreeNX 遠端桌面。
之前是使用teamviewer for linux
一樣 我對ultravnc沒有好感
teamviewer 有自己的server 所以在防火牆內
一樣可以連的到
看來FreeNX 不能穿過防火牆 才能控制