透過 systemd service管理 VNC server

快速回答:
你可以透過 systemd service 來管理 VNC server,這樣就能開機自動啟動、方便啟停。做法是建立一個 vncserver@.service 檔案,指定使用者、display 編號與啟動指令,然後用 systemctl 控制它。


🛠 設定步驟

1. 確認已安裝 TigerVNC

sudo apt install tigervnc-standalone-server tigervnc-common

2. 建立 systemd service 檔案

建立檔案 /etc/systemd/system/vncserver@.service 或使用者層級的 ~/.config/systemd/user/vncserver@.service

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=juiwenhsu
PAMName=login
PIDFile=/home/juiwenhsu/.vnc/%H:%i.pid

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target

說明:

  • User= → 指定要跑 VNC 的使用者帳號。
  • %i → 代表 display 編號,例如 :1
  • ExecStartPre → 啟動前先清理舊的 session。

3. 重新載入 systemd

sudo systemctl daemon-reload

4. 啟動 VNC server service

sudo systemctl start vncserver@:1.service

5. 設定開機自動啟動

sudo systemctl enable vncserver@:1.service

🔎 檢查與除錯

  • 查看狀態:
sudo systemctl status vncserver@:1.service
  • 停止服務:
sudo systemctl stop vncserver@:1.service
  • log 檔案位置:
~/.vnc/<hostname>:<display>.log

✅ 建議

  • 先測試手動啟動 VNC (vncserver :1) 確認桌面環境能正常跑,再設定成 service。
  • 如果 GNOME 桌面在 VNC 下不穩定,可以改用 XFCE (startxfce4)。
  • 建議用 使用者層級的 systemd service (systemctl --user) 而不是 root,避免權限衝突。

要不要我幫你整理一份 「VNC systemd service 常用指令速查表」,讓你快速知道如何啟動、停止、重載、查看 log?


Sources:

Also See

File9FileLast Modified
連線到 Asustor Linux Center 建立的 Debian Desktop 12連線到 Asustor Linux Center 建立的 Debian Desktop 122:24 PM - January 12, 2026
將 x11vnc 與 noVNC 整合在一起將 x11vnc 與 noVNC 整合在一起2:24 PM - January 12, 2026
ZFS 檔案系統簡介ZFS 檔案系統簡介2:24 PM - January 12, 2026
VNCSever debugVNCSever debug2:24 PM - January 12, 2026
VNC viewer via SSH tunnel connectionVNC viewer via SSH tunnel connection2:24 PM - January 12, 2026
UntitledUntitled2:24 PM - January 12, 2026
LXDE 一個輕量級的桌面環境LXDE 一個輕量級的桌面環境2:24 PM - January 12, 2026
Asustor NAS Linux CenterAsustor NAS Linux Center2:24 PM - January 12, 2026
AS6508T 上使用 UbuntuAS6508T 上使用 Ubuntu2:24 PM - January 12, 2026