在 Linux Mint 22.3 下,安裝與設定 VNC 的方式主要取決於你的需求:是想要遠端存取目前的桌面會話(看到跟螢幕上一樣的畫面),還是要開啟一個獨立的虛擬桌面。
目前最推薦且與 Mint 整合度最高的方式是使用 TigerVNC 或 x11vnc。以下是針對「遠端控制現有桌面」的標準步驟:
開啟終端機(Terminal),輸入以下指令安裝 TigerVNC:
Bash
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common x11vnc
為了安全,你需要設定一個連接時使用的密碼:
Bash
vncpasswd
系統會詢問是否要建立一個「view-only password」(唯讀密碼),通常選 n(否)即可。
如果你希望遠端登入後,看到的是電腦主機螢幕上正在執行的畫面,可以使用 x11vnc:
Bash
x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared
參數說明:
-forever: 連線中斷後不關閉程式。
-rfbauth: 指定剛才設定的密碼檔案。
-rfbport 5900: 使用預設的 VNC 埠號 5900。
Linux Mint 預設啟用了防火牆(UFW),你需要允許 VNC 的流量通過:
Bash
sudo ufw allow 5900/tcp
在另一台電腦(Windows, Mac, 或另一台 Linux)上,你需要一個 VNC Viewer:
下載並安裝 VNC Viewer 或 TigerVNC Viewer。
輸入主機的 IP 地址。例如:192.168.1.100:5900。
輸入你剛才在 vncpasswd 設定的密碼,即可看到畫面。
如果你希望每次開機都自動啟動 VNC,可以建立一個服務文件:
建立文件: sudo nano /etc/systemd/system/x11vnc.service
貼入內容:
Ini, TOML(說明)
[Unit]
Description=x11vnc remote desktop server
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/你的用戶名/.vnc/passwd -rfbport 5900 -shared
Restart=on-failure
[Install]
WantedBy=multi-user.target
(請將 你的用戶名 替換為實際的帳號名稱)
啟用服務:
Bash
sudo systemctl daemon-reload
sudo systemctl enable x11vnc
sudo systemctl start x11vnc
安全性: VNC 預設是不加密的。如果你是在公用網路(外網)使用,建議透過 SSH Tunnel 轉發,或是安裝 Tailscale/ZeroTier 等 VPN 工具來確保連線安全。
螢幕鎖定: 如果 Linux Mint 進入睡眠或鎖定狀態,有時 VNC 會斷開連線或無法解鎖,建議在「電源管理」中關閉自動休眠。
使用 SSH Tunnel(隧道)是非常棒的安全意識!預設的 VNC 連線沒有加密,如果直接暴露在外網非常危險。透過 SSH Tunnel,等於是把 VNC 的畫面資料全部「包裝」在一條加密的 SSH 通道裡傳輸。
以下是完整的設定與連線步驟:
1. 安裝並啟動 SSH 伺服器 你的 Linux Mint 需要能接收 SSH 連線。打開終端機輸入:
Bash
sudo apt update
sudo apt install openssh-server
安裝完成後,確認 SSH 服務正在運行:
Bash
sudo systemctl status ssh
2. 防火牆設定 (極為重要) 既然要用 SSH Tunnel,我們就不應該讓外網直接連到 VNC 的 5900 埠。 如果你之前有打開 5900 埠,請先關閉它,並確認開啟了 SSH (22 埠):
Bash
sudo ufw deny 5900/tcp # 拒絕外部直接連線 VNC
sudo ufw allow ssh # 允許 SSH 連線
sudo ufw reload # 重新載入防火牆規則
3. 讓 VNC 只聽取本機連線 (進階安全) 為了徹底防護,建議修改上一篇提到的 x11vnc 啟動指令,加入 -localhost 參數。這會讓 VNC 只接受來自自己電腦(或透過 SSH 偽裝成本機)的連線。
如果你是用終端機手動啟動:
Bash
x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared -localhost
(如果你有設定 Systemd 開機自動啟動,記得去修改 /etc/systemd/system/x11vnc.service 裡面的 ExecStart 行,加上 -localhost,然後執行 sudo systemctl daemon-reload 與 sudo systemctl restart x11vnc)
接下來的步驟是在你用來操作的那台電腦(例如你的 Windows 筆電、Mac 或另一台 Linux)上進行的。
1. 建立 SSH 隧道 (Port Forwarding)
如果你是使用 Windows 10/11, Mac 或 Linux: 直接打開命令提示字元 (CMD)、PowerShell 或終端機 (Terminal),輸入以下指令:
Bash
ssh -L 5900:localhost:5900 你的Mint帳號@LinuxMint的IP地址
參數說明:
-L 5900:localhost:5900:把「遠端主機的 5900 埠」轉發到「目前這台操作電腦的 5900 埠」。
你的Mint帳號:你在 Linux Mint 上的登入帳號。
LinuxMint的IP地址:例如 192.168.1.100 或你的對外 IP。
輸入後,系統會要求你輸入 Linux Mint 的登入密碼。登入成功後,這個終端機視窗請保持開啟(這就是你的加密通道,關閉視窗通道就會斷開)。
如果你是使用 PuTTY (老牌 Windows 工具):
在 Session 頁面輸入 Linux Mint 的 IP。
在左側選單找到 Connection -> SSH -> Tunnels。
Source port 輸入 5900。
Destination 輸入 localhost:5900。
點擊 Add,然後回到 Session 點擊 Open 連線並登入。
2. 開啟 VNC Viewer 連線 現在加密通道已經建立好了。對於你的操作電腦來說,Linux Mint 的桌面就好像在自己這台電腦上運行一樣。
打開你的 VNC Viewer。
在位址欄不要輸入 Linux Mint 的 IP,而是輸入:
Plaintext
localhost:5900
(或者輸入 127.0.0.1:5900)
按下連線,輸入你的 VNC 密碼 (之前用 vncpasswd 設定的那個)。
這樣一來,你就成功在高度安全的 SSH 加密環境下控制你的 Linux Mint 桌面了!