請參考: Linux開源免費的遠端桌面列表
RustDesk是一款開源免費的遠端桌面軟體,提供電腦遠端控制電腦、手機遠端控制電腦、電腦遠端控制手機、手機控制手機等多種連線方式。
連線時可以全程自架,也可以用免費公共伺服器連線。資料傳輸經過點對點加密,安全性不用太擔心。
RustDesk的客戶端還是跨平台的,支援Linux/Windows/macOS/Android/iOS。
1. RustDesk跟其他遠端桌面差在哪裡呢?#
RustDesk跟VNC、RDP這種方案差在哪裡呢?RustDesk的畫面傳輸效率好於VNC,整體來說比較像Teamviewer、Splashtop、Anydesk那樣整合式的解決方案,而且開箱即用,使用者不太需要煩惱底層的系統運作知識便可以使用。
Rustdesk還有個最大優點:自由軟體,使用上無任何限制,不需要註冊帳號。
Rustdesk為市面上少見的開源遠端桌面軟體,設計上跟閉源軟體Teamviewer一樣簡單易用,輸入對方電腦的ID和密碼便可以連線。
連線後可遠端輸入文字,二台電腦共享剪貼簿,還能傳輸檔案。
RustDesk能傳輸遠端音效到本機,支援GPU硬體加速(不過如果你想玩遊戲建議還是用 Moonlight + Sunshine比較好)
關於資安部份,RustDesk預設連線會走公共伺服器,若你覺得公共伺服器服務不夠穩定的也可以自己架一個RustDesk的中繼伺服器。
2. 如何安裝RustDesk#
2.1. 電腦版#
到 RustDesk的官方Github,按照你的作業系統下載RustDesk安裝檔。RustDesk主程式同時包含控制端與被控端的功能。
Windows版RustDesk點選exe安裝即可。
Linux版RustDesk支援Ubuntu/Fedora/Arch系的系統,下載對應發行版的安裝檔後用指令安裝:
# Ubuntu
sudo apt install ./rustdesk-*.deb
# Fedora
sudo dnf install ./rustdesk-*.rpm
# Arch Linux (或者從AUR裝rustdesk-bin)
sudo pacman -U ./rustdesk-*.pkg.tar.zst
# 如果沒有你系統的套件,就下載AppImage版
./rustdesk-1.2.3-x86_64.AppImage
Flatpak版Rustdesk只能當控制端,無法當被控端,故安裝Rustdesk建議仍是用原生套件(deb/rpm/AppImage)為佳。
RustDesk支援X11與Wayland工作階段,Wayland的話請確保你的系統有安裝
XDG Portal
和PipeWire
套件以便共享螢幕。但要無人值守存取的話還是使用X11工作階段為好。你可以把RustDesk加入到Linux開機自動啟動程式:
sudo systemctl enable rustdesk
2.2. 手機版#
iOS到 App Store下載
3. RustDesk使用方式#
使用範例1:Linux遠端連線到Windows桌面#
在Windows電腦執行RustDesk,允許其通過防火牆。在螢幕左邊會顯示本機的ID和密碼
在Linux電腦開啟RustDesk,輸入遠端Windows電腦的ID
輸入密碼,或者在要連線的電腦螢幕上按下暫時同意連線。
之後便能進行操作,實測播放影片,畫面和音訊還算OK,並且可以使用遠端電腦的輸入法(微軟新注音)輸入,而非從Linux這邊傳送文字。
另外,如果是從手機的RustDesk APP遠端連線到電腦,似乎只能使用手機輸入法的樣子。
使用範例2:手機遠端控制手機#
手機不只可以用RustDesk控制電腦,還可以跑遠端桌面讓其他裝置。
你可以Android控制Android,或是iOS控制Android。但因為iOS的系統限制,iOS無法成為被控端,只能傳輸畫面。
詳細作法參見 透過Rustdesk實現手機控制手機
4. 改善RustDesk延遲,使用P2P連線#
RustDesk連線時會嘗試讓二個裝置P2P,失敗的話才會走公共中繼伺服器傳輸訊號。
雖然可以連線,但是中繼伺服器要比P2P延遲高些。
要想改善延遲,除了自己架個中繼伺服器外,你還可以想辦法讓二個RustDesk裝置P2P,這樣的話連線就不會走中繼伺服器了。比方說讓二個裝置位於同一個內網,讓二部裝置P2P。
但若是二部裝置位於不同網域呢?請參見: RustDesk + Tailscale內網穿透,IP直連
5. 自架Rustdesk中繼伺服器#
參見 Self-host :: Documentation for RustDesk
架設中繼(relay)伺服器,讓二台電腦連線走自己的伺服器,即可改善Rustdesk的回應速度。首先您需要一台Linux伺服器,x86或ARM架構都可以,這邊以x86為主。
在Linux伺服器安裝 Docker。
新建docker-compose
vim docker-compose.yml
- 填入以下內容
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
# 在這裡填入您的伺服器IP或是域名
command: hbbs -r example.com:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
- 啟動服務
sudo docker compose up -d
- 開放防火牆通訊埠
ufw allow 21115:21119/tcp
ufw allow 8000/tcp
ufw allow 21116/udp
sudo ufw enable
- 接著開啟Rustdesk客戶端,點選設定 → 網路 → ID/中繼伺服器。填寫第一個欄位,輸入
<伺服器IP>:21116
,剩下讓Rustdesk自己判斷,再按下確認。