四款Linux開源免費的遠端桌面軟體比較

目錄
本文分享四個Linux系統開源免費的遠端桌面方案,並解說安裝過程。
簡介 #
Linux最古老的遠端桌面方案是跑VNC或XRDP伺服器,或是設定SSH X server forwarding,再用客戶端程式(Remmina)存取。他們都是自由開源的遠端桌面方案,不過這類方案比較適合用於管理伺服器的工作,而非像是坐在遠端電腦前使用一般。
使用者可能會想要更完善的套裝遠端桌面軟體,開箱即用的,舉凡「TeamViewer」、「Chrome遠端桌面」、「Anydesk」、「NoMachine」、「SPlashTop」皆提供簡易上手的界面,他們有的支援Linux,而且免費使用。
縱然它們免費使用,授權卻都是專有軟體,畫面訊號也要透過該公司的伺服器傳輸,用下去就會變成依賴特定公司的產品。
為此,自由開源的VNC還是有一定優勢。
最近幾年,有了新開源遠端桌面軟體選擇,那就是「RustDesk」和「Moonlight」,這類遠端桌面較VNC簡單上手,可讓使用者直接登入離開電腦前的狀態繼續工作,甚至頻寬足夠的情況下還能串流遊戲。
開源遠端桌面注意事項 #
遠端桌面以X11工作階段為佳,Wayland次之。
開源軟體比較少商業支援,若有問題,請在Github向開發者回報並尋求社群幫助。
再者,下面談到的遠端桌面方案,有些沒有公共伺服器,使用者需要自行解決外部連線問題。
要從外部網路連內部電腦的方法有二個:
- 動態DNS + 路由器通訊埠轉發 port forwarding
- 內網穿透 P2P hole punch
就難易程度來說,內網穿透比較簡單,不用動路由器。
主要是借助 內網穿透,例如ZeroTier中轉,把所有連線到ZeroTier網路的裝置連到虛擬區域網路,像A電腦會分配到192.168.1.100,B電腦192.168.1.101。
其伺服器僅負責讓二個裝置連接,設定很簡單。如果電腦防火牆有開通訊埠就能P2P,就不需要依賴ZeroTier伺服器中轉封包,速度會快很多,而且連線是點對點加密。
缺點就是你得信任ZeroTier這家公司,即使連線有加密,他們的伺服器畢竟不完全開源。
就隱私考慮這點,DDNS+通訊埠轉發,再另外架個WireGuard VPN會是最安全的方式,不過就有點麻煩。
設定完成後,VNC、XRDP這類桌面技術也是可以運作的,並且別忘了你能夠透過虛擬區域網路SSH到遠端電腦。
1. VNC伺服器 / xRDP / SSH X Forwarding #
本節標題列的都是設定比較麻煩的遠端桌面方案。
以VNC為例,VNC伺服器需要手動撰寫設定檔,寫明登入後要啟動哪些服務,使用上較不直覺。
VNC伺服器的實作,較常見的有x11VNC和TigerVNC,x11VNC可讓遠端連線直接登入目前的工作階段(session)而非開一個新桌面,且斷線後桌面仍會持續運作。
但x11VNC的先決條件是要登入桌面,然後才能離開電腦(可以關閉螢幕電源)。如果要不登入桌面環境,從SSH啟動VNC伺服器的話,請改用TigerVNC。
2. Rustdesk #
以Rust寫成,支援各大系統。設計上跟TeamViewer類似,都是透過一組隨機產生的帳密連線,直覺易用。
連線會先嘗試走P2P,連不通才會走Relay server。
Rustdesk客戶端和伺服器端都是開源的,可以自己架設Relay server,無須受限於官方提供的服務。RustDesk我個人建議是想辦法採用P2P連線較佳,依賴公共站點很容易lag。
Rustdesk原始碼可在 Github取得。
3. Moonlight + Sunshine #
Moonlight其實主要是用來串流玩遊戲用的,遠端桌面是附贈功能,用GPU計算畫面,傳輸效率不輸RustDesk。
Moonlight伺服器的Linux移植版叫Sunshine,由LizardBytes維護,支援Nvidia/AMD/Intel GPU的電腦。
網路速度夠快的話1080p畫面不是問題,音訊也會自動傳送過來。
Sunshine原始碼可在 Github取得。
4. Weylus / Deskreen #
這二款程式的目的類似,主打免APP,用瀏覽器遠端操控,類似Chrome遠端桌面那樣。
Weylus還可以把平板當作電腦第二個螢幕,延伸桌面獲得更多工作空間。
Weylus支援Wayland,請看 Weylus教學
Weylus原始碼位於 Github。