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

RustDesk是開源免費的遠端桌面軟體,能電腦遠端電腦、手機遠端電腦、同步手機畫面。

Rustdesk的客戶端跨平台,支援Linux/Windows/macOS/Android/iOS,官方提供免費公共伺服器,資料傳輸經過點對點加密,安全性不用太擔心。

1. Rustdesk跟常見的遠端桌面差在哪裡呢?

Rustdesk是少見的開放原始碼遠端桌面軟體,設計上跟專有軟體Teamviewer一樣簡單易用:輸入對方電腦的ID和密碼便可以連線。

連線後可遠端輸入,共享剪貼簿,傳輸遠端音效到本機,二台電腦之間還能傳輸檔案。

並且Rustdesk是自由軟體,使用上並無限制,覺得公共伺服器服務不夠穩定的也可以自己架一個Rustdesk的中繼伺服器。

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

2. 如何安裝Rustdesk

Rustdesk的官方Github,按照你的作業系統下載Rustdesk安裝檔。Rustdesk主程式同時包含控制端與被控端的功能。

以Linux來說,Rustdesk支援Debian/Fedora/Arch系的系統,下載對應發行版的安裝檔後用指令安裝:

1
2
3
4
5
6
7
8
# Debian
sudo apt install ./rustdesk-*.deb

# Fedora
sudo dnf install ./rustdesk-*.rpm

# Arch Linux (或者從AUR裝rustdesk-bin)
sudo pacman -U ./rustdesk-*.pkg.tar.zst

注意Linux版Rustdesk尚不支援Wayland,桌面環境仍需使用X11工作階段。且Flatpak版Rustdesk只能當控制端,無法當被控端,故安裝Rustdesk建議仍是用原生套件(deb/rpm)為主。

3. Rustdesk使用方式

使用範例1:Linux遠端連線到Windows

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

  2. 在Linux電腦開啟Rustdesk,輸入遠端Windows電腦的ID

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

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

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

使用範例2:iOS手機同步顯示Android手機畫面

註:想用電腦或手機遠端控制Android手機,建議直接使用Scrcpy

二部手機都安裝Rustdesk APP。

  1. Android手機啟動Ruskdesk,點選共享畫面→啟動服務

  2. iOS啟動Ruskdesk APP,輸入Android手機的ID和密碼。這樣就會從iOS裝置看到Android機的畫面了。

另外電腦的Rustdesk客戶端也可以連線到Android手機畫面。

然而,目前手機端的Rustdesk只能共享畫面,無法被另外一個裝置操控。iOS應該是無望解決,不過Android可以配合KDE Connect補齊遠端控制的功能。

4. 自架Rustdesk中繼伺服器

參見Self-host :: Documentation for RustDesk

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

  1. 在Linux伺服器安裝Docker

  2. 新建docker-compose

1
vim docker-compose.yml
  1. 填入以下內容
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
  1. 啟動服務
1
sudo docker compose up -d
  1. 開放防火牆通訊埠
1
2
3
4
ufw allow 21115:21119/tcp
ufw allow 8000/tcp
ufw allow 21116/udp
sudo ufw enable
  1. 接著開啟Rustdesk客戶端,點選ID旁邊的 → 「選擇ID/中繼伺服器」

  2. 填寫第一個欄位,輸入<伺服器IP>:21116,剩下讓Rustdesk自己判斷,再按下確認。


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。