温馨提示×

Ubuntu下TigerVNC如何配置

小樊
57
2025-09-23 15:11:06
栏目: 智能运维

Ubuntu下TigerVNC配置指南

1. 安装TigerVNC服务器

打开终端,依次执行以下命令更新系统软件包列表并安装TigerVNC服务器及公共组件:

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

2. 设置VNC连接密码

运行vncpasswd命令设置VNC访问密码(用于客户端连接时的身份验证),按照提示输入并确认密码:

vncpasswd

3. 配置桌面环境启动脚本

编辑用户目录下的.vnc/xstartup文件(若文件不存在则创建),配置启动时加载的桌面环境(以Xfce为例,轻量且兼容性好):

nano ~/.vnc/xstartup

添加以下内容(关键参数说明:unset用于清除冲突的环境变量,startxfce4 &启动Xfce桌面):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
startxfce4 &

保存并退出编辑器(Ctrl+XYEnter),然后为文件添加可执行权限:

chmod +x ~/.vnc/xstartup

4. 启动VNC服务器

使用vncserver命令启动VNC服务,指定显示号(如:1,对应默认端口5901:2对应5902,依此类推):

vncserver :1

首次启动会提示确认桌面分辨率(可直接回车使用默认值)和是否创建默认配置文件,按需选择即可。

5. 配置防火墙(若系统启用UFW)

若Ubuntu启用了UFW防火墙,需允许VNC端口通过(以:1对应的5901端口为例):

sudo ufw allow 5901/tcp
sudo ufw enable  # 若未启用防火墙,可跳过此步

6. 设置开机自启动(可选但推荐)

创建Systemd服务文件以实现VNC服务器开机自动启动:

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

将以下内容粘贴到文件中(替换your_username为实际用户名,Group改为对应的用户组,如your_username通常属于sudousers组):

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=your_username
Group=your_username
WorkingDirectory=/home/your_username
PIDFile=/home/your_username/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

保存并退出编辑器,执行以下命令使配置生效:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service  # 启用开机自启动
sudo systemctl start vncserver@1.service   # 立即启动服务(若未手动启动)

7. 连接到VNC服务器

在远程计算机上使用VNC客户端(如TigerVNC Viewer、RealVNC Viewer),输入Ubuntu服务器的IP地址+显示号(如192.168.1.100:1),点击连接,输入之前设置的VNC密码即可访问远程桌面。

8. 可选:使用SSH隧道提高安全性

为避免VNC密码在网络中明文传输,可通过SSH隧道加密连接。在本地计算机执行以下命令(替换your_usernameyour_server_ip):

ssh -L 5901:localhost:5901 your_username@your_server_ip

然后在VNC客户端中连接localhost:1,即可通过SSH隧道安全访问远程桌面。

0