温馨提示×

Ubuntu VNC如何自启

小樊
73
2026-08-11 15:57:46
栏目: 智能运维

Ubuntu 上让 VNC 开机自启,常见做法取决于你用的是 桌面版还是服务器版、以及 VNC 服务端类型(TigerVNC / x11vnc / GNOME 自带等)。下面按 最常用场景 给你一套清晰方案。


一、最常见方案(推荐):使用 TigerVNC + systemd 自启

适用于:

  • Ubuntu 20.04 / 22.04 / 24.04
  • 服务器或桌面
  • 需要 开机即用 VNC

1️⃣ 安装 TigerVNC

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

2️⃣ 设置 VNC 密码

vncpasswd

(密码保存在 ~/.vnc/passwd


3️⃣ 创建 systemd 服务(关键)

假设你的用户名是 ubuntu,VNC 端口 :1(5901)

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

内容如下(⚠️ 注意替换用户名):

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

[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

ExecStartPre=-/usr/bin/vncserver -kill :%i
ExecStart=/usr/bin/vncserver :%i
ExecStop=/usr/bin/vncserver -kill :%i

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

保存退出。


4️⃣ 启用并启动 VNC 自启

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

查看状态:

systemctl status vncserver@1

✅ 重启后 VNC 将自动启动


二、桌面版 Ubuntu(GNOME)方案

方法 1:使用内置「屏幕共享」(最简单)

适合 桌面版 Ubuntu

  1. 打开 设置 → 共享 → 屏幕共享
  2. 开启:
    • 允许连接
    • 设置密码
  3. 确认服务运行:
systemctl --user status vino-server

✅ 登录后自动启动(不是纯 system 级)

⚠️ 缺点:

  • 需要桌面登录
  • 不适合服务器

三、x11vnc 自启(适合已有桌面)

1️⃣ 安装

sudo apt install x11vnc

2️⃣ 设置密码

x11vnc -storepasswd

3️⃣ 创建 systemd 服务

sudo nano /etc/systemd/system/x11vnc.service
[Unit]
Description=x11vnc
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/ubuntu/.x11vnc/passwd -rfbport 5900
Restart=always

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl enable x11vnc
sudo systemctl start x11vnc

四、验证 VNC 是否自启成功

ss -lntp | grep 590

或重启测试:

sudo reboot

五、常见问题

❓ 黑屏 / 灰屏

  • 没有正确启动桌面环境
  • 检查 ~/.vnc/xstartup

示例(GNOME):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec gnome-session &

❓ 端口说明

VNC 显示号 端口
:1 5901
:2 5902

六、我可以进一步帮你

你可以直接告诉我:

  1. ✅ Ubuntu 版本
  2. ✅ 桌面版 or 服务器
  3. ✅ 是否已有桌面环境
  4. ✅ 想用哪种 VNC(TigerVNC / x11vnc / 其他)

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

0