温馨提示×

如何设置Ubuntu VNC自启

小樊
57
2026-09-10 02:51:09
栏目: 智能运维

在 Ubuntu 上设置 VNC 开机自启,常见做法取决于你使用的 VNC 服务端(TigerVNC / TightVNC / RealVNC)以及 Ubuntu 版本(是否有桌面、是否用 systemd)。下面以最常用、最稳妥的 TigerVNC + systemd 用户服务为例说明。


一、前提条件

  1. 已安装 VNC 服务端(以 TigerVNC 为例)
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
  1. 已设置 VNC 密码
vncpasswd
  1. 已确认手动启动可用
vncserver :1

二、创建 VNC 启动脚本(可选但推荐)

nano ~/.vnc/xstartup

内容示例(Ubuntu 桌面):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/Xsession

或 GNOME:

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
exec gnome-session

赋予执行权限:

chmod +x ~/.vnc/xstartup

三、创建 systemd 用户服务(推荐方式)

1. 新建服务文件

mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/vncserver.service

内容示例(用户 ubuntu,显示号 :1):

[Unit]
Description=TigerVNC Server
After=graphical.target

[Service]
Type=simple
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -alwaysshared
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure

[Install]
WantedBy=default.target

2. 启用并启动

systemctl --user daemon-reload
systemctl --user enable vncserver.service
systemctl --user start vncserver.service

3. 允许用户服务开机自启(关键)

sudo loginctl enable-linger $USER

这样不登录也能自启 VNC。


四、系统级自启(不推荐普通用户使用)

如果你是服务器管理员,可创建:

sudo nano /etc/systemd/system/vncserver@.service

示例:

[Unit]
Description=VNC Server %i
After=network.target

[Service]
User=ubuntu
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service

五、验证

vncviewer your_ip:1

或:

systemctl --user status vncserver.service

六、常见问题

  • ❌ 自启失败 → 检查 enable-linger
  • ❌ 黑屏 → xstartup 错误
  • ❌ 端口不通 → 防火墙 / 云安全组

如果你告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 是否有桌面
  • 用的 VNC 软件

我可以给你完全定制的一套配置。

0 踩