TigerVNC在CentOS中的配置步骤
在开始安装前,建议先更新系统包以确保兼容性:
sudo yum update -y # CentOS 7
# 或(CentOS 8及以上)
sudo dnf update -y
使用包管理器安装TigerVNC服务器和公共组件:
sudo yum install tigervnc-server tigervnc-common -y # CentOS 7
# 或
sudo dnf install tigervnc-server tigervnc-common -y # CentOS 8及以上
为当前用户设置VNC连接密码(密码长度需至少6位):
vncpasswd
按照提示输入并确认密码,此密码用于客户端连接时的身份验证。
TigerVNC通过systemd管理服务,需创建自定义服务文件以指定用户、端口等参数:
sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service # 复制默认模板
sudo vi /etc/systemd/system/vncserver@:1.service # 编辑服务文件
修改以下内容(替换<your_username>为实际用户名,<your_group>为用户所属组,如wheel或users):
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your_username>
Group=<your_group>
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 :%i -geometry 1920x1080 -depth 24 # 设置分辨率和色深
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
保存并退出编辑器(vi中按:wq)。
重新加载systemd配置以识别新服务文件,然后启动服务并设置为开机自动启动:
sudo systemctl daemon-reload # 重新加载配置
sudo systemctl start vncserver@:1.service # 启动服务(:1对应端口5901)
sudo systemctl enable vncserver@:1.service # 设置开机自启
若系统启用了firewalld防火墙,需开放VNC对应的端口(默认5900+显示编号,如:1对应5901):
sudo firewall-cmd --permanent --add-port=5901/tcp # 开放端口
sudo firewall-cmd --reload # 重新加载防火墙规则
若使用SELinux,可临时允许VNC服务(生产环境建议调整SELinux策略):
sudo setenforce 0 # 临时关闭SELinux(重启后恢复)
# 或永久关闭(需编辑/etc/selinux/config文件)
在另一台计算机上安装TigerVNC客户端(如Windows版),输入服务器IP地址和端口号(格式:<服务器IP>:<显示编号>,如192.168.1.100:1),然后输入之前设置的VNC密码即可连接。
若需要为多个用户或创建多个VNC实例,重复以下步骤:
sudo useradd <username> → sudo passwd <username> → su - <username> → vncpasswd。sudo cp /etc/systemd/system/vncserver@:1.service /etc/systemd/system/vncserver@:2.service(:2对应端口5902)。User、Group和Port(如将:%i改为:2)。sudo systemctl start vncserver@:2.service → sudo systemctl enable vncserver@:2.service。通过以上步骤,即可在CentOS上完成TigerVNC的配置,实现远程桌面访问。如需调整桌面环境(如GNOME、KDE),可修改~/.vnc/xstartup文件(参考对应桌面环境的启动命令)。