温馨提示×

Ubuntu VNC如何设为开机启动

小樊
48
2026-09-22 08:51:31
栏目: 智能运维

在 Ubuntu 上让 VNC 开机启动,常见做法有几种,取决于你使用的 VNC 服务类型(TigerVNC / TightVNC / RealVNC)以及是否使用 systemd。下面以 TigerVNC / TightVNC + systemd 为例说明(最推荐、最通用)。


一、使用 systemd 设置 VNC 开机启动(推荐)

1. 安装 VNC(如已安装可跳过)

sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common

2. 设置 VNC 密码

vncpasswd

(默认密码文件在 ~/.vnc/passwd


3. 创建 systemd 服务文件

例如为 user1 用户启动 :1 桌面:

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

内容如下(注意修改用户名):

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

[Service]
Type=simple
User=user1
PAMName=login
PIDFile=/home/user1/.vnc/%H:%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || true'
ExecStart=/usr/bin/vncserver :%i -geometry 1280x720 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

4. 重载并启用开机启动

sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service

查看状态:

systemctl status vncserver@1.service

✅ 重启后会自动启动 VNC


二、使用 crontab 开机启动(简单但不推荐)

crontab -e

添加:

@reboot vncserver :1

⚠ 缺点:依赖 X、网络,可能启动失败


三、使用 ~/.config/autostart(仅桌面会话)

适合 已登录桌面用户

nano ~/.config/autostart/vnc.desktop
[Desktop Entry]
Type=Application
Name=VNC Server
Exec=vncserver :1

❌ 不会在无登录时启动


四、常见问题

1. 黑屏?

确保 ~/.vnc/xstartup 存在且可执行:

#!/bin/sh
unset SESSION_MANAGER
exec startxfce4
chmod +x ~/.vnc/xstartup

2. 多用户?

每个用户一个 vncserver@2@3


五、总结建议

服务器 / 无桌面登录:用 systemd
桌面环境autostart
生产环境:避免 crontab

如果你告诉我:

  • Ubuntu 版本
  • VNC 类型(Tiger / Tight / Real)
  • 是否服务器版

我可以给你精确配置

0