快轉到主要內容

使用內網穿透軟體 + x11VNC架設免費Linux遠端桌面

分類   Linux系統 Self-hosting自架
標籤   Remote Desktop ZeroTier VNC
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

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

適用系統:Ubuntu 24.04以上 & Debian 12以上

介紹如何建立x11VNC遠端伺服器,不包含GPU加速與PulseAudio音效。

個人使用的話花不到半毛錢,使用內網穿透軟體,讓不同網路下的裝置連線到同一個虛擬區網。這樣要進行SSH、VNC遠端桌面就簡單多了。

VNC實作有x11VNC、TigerVNC、RealVNC、TurboVNC。其中的x11VNC可讓遠端連線直接登入目前的工作階段(session)而非開一個新桌面,可吃到GPU加速,且斷線後桌面仍會持續運作。但x11VNC的先決條件是要登入桌面,然後才能離開電腦(可以關閉螢幕電源)。

如果要不登入桌面環境,從SSH啟動VNC伺服器的話,請 改用TigerVNC

1. 設定x11VNC伺服器
#

x11VNC必須先在電腦前設定好,才可離開電腦。

因為x11VNC是基於X建立的,故桌面環境必須使用X11工作階段,不支援Wayland。

  1. 確認目前工作階段是否為X11
echo $XDG_SESSION_TYPE
  1. 安裝x11VNC
sudo apt install x11vnc
  1. 設定VNC伺服器密碼
x11vnc -storepasswd
  1. 新增Systemd user service
vim ~/.config/systemd/user/x11vnc.service
  1. 填入以下內容。-geometry設定解析度。
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
ExecStart=x11vnc -bg -auth guess -usepw -display :0 -forever -geometry 1280x720

[Install]
WantedBy=default.target
  1. 注意Exec這一段,若是使用SDDM+KDE桌面,就要改成下面這樣
Exec=x11vnc -bg -auth $(find /var/run/sddm/ -type f) -usepw -display :0 -forever -geometry 1280x720
  1. 設定登入後自動啟動x11VNC服務
systemctl --user daemon-reload

systemctl --user enable x11vnc.service
  1. 防火牆開啟VNC會用到的通訊埠:
sudo ufw allow ssh
sudo ufw allow 5900:5910/tcp
sudo ufw reload

2. 開放外部連線
#

參見 內網穿透軟體使用教學,例如在電腦與手機安裝ZeroTier,並設定電腦開機自動啟動ZeroTier服務。

安裝好後重開機。

3. 遠端登入示例
#

  1. 電腦:安裝 Remmina RealVNC Viewer,在位址欄選取VNC,輸入遠端Zerotier虛擬IP:5901連線

  2. 手機:安裝 AVNC Real VNC Viewer,在位址欄輸入遠端Zerotier虛擬IP:5901,登入遠端桌面。

  3. 網頁:安裝 noVNC

參考資料
#

相關文章

Sunshine:Linux版Moonlight教學,自架免費雲端串流遊戲服務+遠端桌面
分類   Linux系統 Self-hosting自架 Linux玩遊戲
標籤   Moonlight Game Streaming Cloud Gaming Remote Desktop Steam Linux
RustDesk使用教學:開源免費遠端桌面,可自架
分類   Linux系統 Self-hosting自架
標籤   RustDesk Remote Desktop Linux Windows MacOS
WayVNC使用教學,支援Linux Wayland協定的VNC遠端桌面
分類   Linux系統 Linux好用軟體
標籤   VNC Remote Desktop Raspberry Pi

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

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