温馨提示×

ubuntu tigervnc怎样配置

小樊
67
2026-09-26 06:41:17
栏目: 智能运维

下面以 Ubuntu(20.04 / 22.04 / 24.04 通用) 为例,说明 TigerVNC 的安装与配置,包括用户级 VNC和systemd 服务方式。


一、安装 TigerVNC

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

验证:

vncserver --version

二、初始化 VNC 密码

切换到你要使用的用户(不要直接用 root 跑桌面):

vncpasswd

会生成:

~/.vnc/passwd

可选:

vncpasswd -f > ~/.vnc/passwd
chmod 600 ~/.vnc/passwd

三、配置桌面环境(重要)

1️⃣ 确认已安装桌面

如果没有桌面:

sudo apt install -y ubuntu-desktop

或轻量:

sudo apt install -y xfce4

2️⃣ 创建 xstartup

mkdir -p ~/.vnc
nano ~/.vnc/xstartup

GNOME(Ubuntu 默认)

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

XFCE

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

保存后:

chmod +x ~/.vnc/xstartup

四、启动 VNC(手动方式)

vncserver :1 -geometry 1920x1080 -depth 24

连接地址:

服务器IP:5901

停止:

vncserver -kill :1

五、使用 systemd(推荐)

1️⃣ 创建服务文件

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

内容(示例用户:ubuntu):

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

[Service]
Type=forking
User=ubuntu
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

多个用户可复制修改 User=

2️⃣ 启用

sudo systemctl daemon-reexec
sudo systemctl enable --now vncserver@1.service

查看状态:

systemctl status vncserver@1

六、防火墙(如有)

sudo ufw allow 5901/tcp

七、安全建议(非常重要)

❌ 不要直接暴露 5901 到公网
✅ 推荐:

ssh -L 5901:localhost:5901 user@server

然后本地连接:

localhost:5901

或启用 TLS:

vncserver :1 -SecurityTypes TLSVnc

八、常见问题

黑屏

  • xstartup 未执行
  • DBUS 未 unset
  • 桌面未安装

无法连接

  • 服务没起
  • 防火墙
  • 绑错 IP(默认只绑 127.0.0.1)

查看监听:

ss -tlnp | grep 590

如果你告诉我:

  • Ubuntu 版本
  • 桌面类型(GNOME / XFCE)
  • 是否需要 root / 多用户

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

0 踩