在 Ubuntu 上开启 VNC 服务,常见做法有两种:使用系统自带桌面 + VNC Server(如 TigerVNC / TightVNC),或 使用云/无界面环境下的轻量方案。下面给你一个最常用、稳定的桌面版 Ubuntu 开启 VNC 教程(以 TigerVNC 为例,Ubuntu 20.04/22.04/24.04 通用)。
如果是最小化安装 / 服务器版,先装桌面:
sudo apt update
sudo apt install -y ubuntu-desktop
或轻量一些:
sudo apt install -y xfce4 xfce4-goodies
推荐使用 TigerVNC:
sudo apt install -y tigervnc-standalone-server tigervnc-common
vncpasswd
会生成:
~/.vnc/passwd
编辑或创建:
nano ~/.vnc/xstartup
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
exec /etc/X11/Xsession
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
保存后赋予执行权限:
chmod +x ~/.vnc/xstartup
vncserver :1 -geometry 1920x1080 -depth 24
:1 → 端口 5901:2 → 端口 5902查看状态:
vncserver -list
sudo ufw allow 5901
使用 VNC 客户端(RealVNC / TigerVNC Viewer):
服务器IP:5901
输入前面设置的密码即可。
创建服务:
sudo nano /etc/systemd/system/vncserver@.service
内容(替换 username):
[Unit]
Description=VNC Server
After=syslog.target network.target
[Service]
Type=forking
User=username
ExecStart=/usr/bin/vncserver :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
启用:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1
sudo systemctl start vncserver@1
通常是 xstartup 没配置桌面环境。
不要直接暴露 5901 到公网,建议:
ssh -L 5901:localhost:5901 user@server
再用本地 VNC 连 localhost:5901
如果你告诉我:
我可以给你更精准的方案(比如无桌面 headless VNC、x11vnc、RealVNC 等)。