温馨提示×

Linux TigerVNC如何安装配置

小樊
34
2025-11-11 03:15:14
栏目: 智能运维

Linux TigerVNC安装配置指南
TigerVNC是一款高性能、开源的VNC服务器,适用于Linux系统的远程桌面访问。以下是详细的安装与配置步骤,涵盖主流发行版(CentOS/RHEL、Ubuntu):

一、安装TigerVNC服务器

1. 更新系统软件包

确保系统软件包为最新版本,避免依赖冲突:

# CentOS/RHEL/Fedora
sudo yum update -y  # 或 sudo dnf update -y(Fedora)

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

2. 安装TigerVNC服务器及依赖

  • CentOS/RHEL/Fedora
    sudo yum install tigervnc-server -y
    
  • Ubuntu/Debian
    sudo apt install tigervnc-standalone-server tigervnc-common -y
    

3. (可选)安装桌面环境

若系统未预装桌面环境(如GNOME、XFCE),需手动安装:

  • CentOS/RHEL
    sudo yum groupinstall "X Window System" "GNOME Desktop" -y
    
  • Ubuntu/Debian
    sudo apt install ubuntu-desktop -y  # 或 xfce4(轻量级桌面)
    

二、配置TigerVNC服务器

1. 设置VNC用户密码

为当前用户创建VNC访问密码(密码长度至少6位):

vncpasswd

输入密码后,系统会将密码存储在~/.vnc/passwd文件中(仅用户本人可访问)。

2. 配置VNC启动参数

编辑系统级VNC配置文件,定义用户与端口的映射关系:

sudo vim /etc/tigervnc/vncserver.users

添加以下内容(:1对应端口号5901:2对应5902,依此类推):

:1=username  # 将username替换为实际用户名

3. 自定义桌面启动脚本

编辑用户级的xstartup文件,指定启动的桌面环境(如GNOME、XFCE):

vim ~/.vnc/xstartup

添加以下内容(以GNOME为例,若使用XFCE则替换为startxfce4 &):

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

保存后,赋予脚本执行权限:

chmod +x ~/.vnc/xstartup

4. 创建Systemd服务(可选,推荐)

通过Systemd管理VNC服务,实现开机自启动:

sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vim /etc/systemd/system/vncserver@:1.service

修改文件中的User(用户名)和Group(用户组),并添加桌面参数:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=username  # 替换为实际用户名
Group=username
WorkingDirectory=/home/username
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :1
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

保存后,重新加载Systemd配置:

sudo systemctl daemon-reload

三、启动与管理VNC服务

1. 启动VNC服务

启动指定端口的VNC服务(如:1对应5901端口):

vncserver :1

首次启动会提示设置密码,后续启动可直接使用vncserver :1

2. 停止VNC服务

停止指定端口的VNC服务:

vncserver -kill :1

3. 设置开机自启动

通过Systemd启用VNC服务,实现系统重启后自动启动:

sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

四、配置防火墙

允许VNC流量通过防火墙(以firewalldUFW为例):

  • CentOS/RHEL(firewalld)
    sudo firewall-cmd --permanent --add-service=vnc-server
    sudo firewall-cmd --reload
    
  • Ubuntu(UFW)
    sudo ufw allow 5901/tcp  # 5901为VNC端口(:1对应5901)
    sudo ufw enable
    

五、客户端连接

使用TigerVNC Viewer或其他VNC客户端(如RealVNC、Remmina),输入服务器IP地址和端口号(格式:IP:端口号,如192.168.1.100:5901),然后输入之前设置的VNC密码即可连接。

注意事项

  1. 桌面环境兼容性:确保xstartup文件中的桌面环境(如gnome-sessionstartxfce4)与系统安装的桌面环境一致,否则可能导致启动黑屏。
  2. 端口冲突:避免与其他服务使用相同端口,若需多个VNC实例,可使用不同显示号(如:2对应5902端口)。
  3. 安全性:建议通过SSH隧道加密VNC连接(如ssh -L 5901:localhost:5901 user@server-ip),防止密码泄露。
  4. 日志排查:若连接失败,可查看VNC日志文件(~/.vnc/hostname:1.log)定位问题。

0