快轉到主要內容

RustDesk使用教學:開源免費遠端桌面,可自架

· 民國113年甲辰年
·
切換繁體/簡體
分類   Linux系統 Self-hosting自架
標籤   RustDesk Remote Desktop Linux Windows MacOS
目錄

請參考: Linux開源免費的遠端桌面列表

RustDesk是一款開源免費的遠端桌面軟體,提供電腦遠端控制電腦、手機遠端控制電腦、電腦遠端控制手機、手機控制手機等多種連線方式。

連線時可以全程自架,也可以用免費公共伺服器連線。資料傳輸經過點對點加密,安全性不用太擔心。

RustDesk的客戶端還是跨平台的,支援Linux/Windows/macOS/Android/iOS。

1. RustDesk跟其他遠端桌面差在哪裡呢?
#

RustDesk跟VNC、RDP這種方案差在哪裡呢?RustDesk的畫面傳輸效率好於VNC,設計上比較像Teamviewer、Splashtop、Anydesk那樣整合式的解決方案,開箱即用,使用者不太需要煩惱底層的系統運作知識便可以使用。

Rustdesk還有個最大優點:自由軟體,使用上無任何限制,不需要註冊帳號就能用。且RustDesk的授權條款允許商業使用。

Rustdesk為市面上少見的開源遠端桌面軟體,設計上跟閉源軟體Teamviewer一樣簡單易用,輸入對方電腦的ID和密碼便可以連線。

連線後可遠端輸入文字,二台電腦共享剪貼簿與傳輸檔案。

RustDesk能傳輸遠端音效到本機,支援GPU硬體加速。不過如果你想玩遊戲建議還是用Moonlight + Sunshine比較好。

關於資安問題,RustDesk預設連線會走公共伺服器,並透過點對點加密連線。若你覺得公共伺服器服務不夠穩定的可以用P2P連線,或者自架一個RustDesk的中繼伺服器。

2. 如何安裝RustDesk
#

電腦版
#

RustDesk的官方Github,翻到Latest標籤處,點選Show all assets,按照你的作業系統下載RustDesk安裝檔。RustDesk主程式同時包含控制端與被控端的功能。

Windows版RustDesk點選exe安裝即可。

  1. Linux系統,RustDesk支援Ubuntu、Fedora、Arch系發行版。安裝Rustdesk建議使用原生套件,Flatpak版Rustdesk只能當控制端,無法當被控端。

  2. 下載對應發行版的安裝檔安裝:

# 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
  1. RustDesk支援X11與Wayland工作階段,Wayland的話請確保你的系統有安裝XDG PortalPipeWire套件以便共享螢幕。但要無人值守存取的話還是使用X11工作階段為好。

  2. 你可以把RustDesk加入到Linux開機自動啟動程式。注意:RustDesk必須要登入Linux桌面才可以遠端連線。

sudo systemctl enable rustdesk

如果RustDesk無法透過Systemd自動啟動,可能要改用XDG Autostart的方式來自動啟動:

cp /usr/share/applications/rustdesk.desktop ~/.config/autostart/

手機版
#

Android可以到F-droidGithub下載。

iOS到App Store下載

網頁版
#

RustDesk網頁版,只有客戶端功能,尚在測試中。

網址:https://rustdesk.com/web/

3. RustDesk使用方式
#

使用例1:遠端連線到電腦桌面
#

  1. 在Windows電腦執行RustDesk,允許其通過防火牆。在螢幕左邊會顯示一組隨機的ID和密碼

  2. 在另一部電腦開啟RustDesk,輸入遠端Windows電腦的ID

  3. 輸入密碼,或者在要連線的電腦螢幕上按下暫時同意連線。

  4. 之後便能進行操作,實測播放影片,畫面和音訊還算OK,並且可以使用遠端電腦的輸入法(微軟新注音)輸入,而非使用客戶端的輸入法。

另外,如果是從手機的RustDesk APP遠端連線到電腦,似乎只能使用手機輸入法的樣子。

使用例2:手機遠端控制手機
#

手機不只可以用RustDesk控制電腦,還可以跑遠端桌面讓其他裝置。

你可以Android控制Android,或是iOS控制Android。但因為iOS的系統限制,iOS無法成為被控端,只能傳輸畫面。

詳細作法參見透過Rustdesk實現手機控制手機

使用例3:連線到headless伺服器
#

即使伺服器沒有接上顯示器,RustDesk照樣能夠連線。

RustDesk提供了CLI界面,允許透過指令編輯設定。

以樹莓派伺服器為例,參見:用RustDesk連線到headless的Linux伺服器

4. 使用P2P連線
#

RustDesk連線時會嘗試讓二個裝置P2P,失敗的話才會走公共中繼伺服器傳輸訊號。

雖然可以連線,但是中繼伺服器要比P2P延遲高些。

要想改善延遲,除了自己架個中繼伺服器外,你還可以想辦法讓二個RustDesk裝置P2P,這樣的話連線就不會走中繼伺服器了。比方說讓二個裝置位於同一個內網,讓二部裝置P2P。

但若是二部裝置位於不同網域呢?請參見:RustDesk + Tailscale內網穿透,IP直連

5. 自架Rustdesk中繼伺服器
#

參見Self-host :: Documentation for RustDesk

架設中繼伺服器(relay server),讓二台電腦連線走自己的伺服器,即可改善Rustdesk的回應速度。首先您需要一台Linux伺服器,x86或ARM架構都可以,這邊以x86為主。

  1. 登入Linux伺服器,安裝Docker

  2. 新建docker-compose

vim docker-compose.yml
  1. 填入以下內容
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
  1. 啟動服務
sudo docker compose up -d
  1. 開放防火牆通訊埠
ufw allow 21115:21119/tcp

ufw allow 8000/tcp

ufw allow 21116/udp
  1. 接著開啟Rustdesk客戶端,點選設定 → 網路 → ID/中繼伺服器。填寫第一個欄位,輸入<伺服器IP>:21116,剩下讓Rustdesk自己判斷,再按下確認。

6. 改善RustDesk延遲問題
#

RustDesk公共伺服器品質不穩,所以要自行解決連線問題。請使用上述的「P2P」或者「自架中繼伺服器」方案。

如果還是不行的話,嘗試:

在遠端電腦的RustDesk點選設定 → 一般,啟用硬體解碼(需要安裝Intel、AMD、Nvidia顯示卡的驅動)。

調整RustDesk客戶端的連線設定,畫質改成「回應速度優先」。或是點「自訂模式」,調低位元率和FPS。

修改編碼器:RustDesk連線的時候會自動依照網速調整畫質,嘗試使用不同的編碼器,改善頻寬佔用。其中H.264是最不耗費硬體資源的編碼器,但是頻寬佔用高。如果條件允許的話請嘗試H.265或AV1編碼器。

降低遠端桌面的解析度也是個解法,譬如4K修改為1080p以下。RustDesk目前沒有這個功能,需要使用者手動修改。

相關文章

Spirit桌寵軟體,讓動漫人物坐在Linux電腦視窗上
分類   Linux系統 Linux好用軟體
標籤   Desktop Mascot Linux MacOS Windows
電腦看Youtube的開源程式:FreeTube,無廣告、下載影片
分類   Linux系統 Linux好用軟體
標籤   Youtube Invidious Linux Windows MacOS
無廣告電腦版Youtube Music,支援下載歌曲!功能豐富的第三方客戶端
分類   Linux系統 Linux好用軟體
標籤   Youtube Music Linux Windows MacOS

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。