CentOS 上配置 VNC Server 的详细指南
VNC(Virtual Network Computing)是一种基于 RFB 协议的远程桌面访问工具,它允许用户通过网络远程控制另一台计算机的图形界面,本文将详细介绍如何在 CentOS 系统上安装和配置 VNC Server,包括安装图形界面、配置 VNC Server、设置密码、防火墙配置以及如何连接 VNC Server。

一、安装图形界面
1. 安装 X Windows System 图形界面
X Window System 是底层图形子系统,适配大多数的 Linux 及 Unix 系统,兼容性更广,其主要是管理硬件设备与图形环境之间的交互。
更新系统软件包 yum update y 安装 X Window System 图形界面 yum groups install "X Window System" 安装完成后,修改默认启动方式为图形化界面 systemctl setdefault graphical.target
2. 安装 GNOME 图形界面
GNOME 是一个功能完备的桌面环境,基于 X Window System 构建,包含窗口、图标、工具栏、文件管理器等完整的用户界面元素。
安装 GNOME 图形界面 yum groupinstall y "GNOME Desktop" 修改默认启动方式为图形化界面 systemctl setdefault graphical.target
安装完成后,执行reboot 重启设备以生效图形界面。
二、安装 VNC Server
1. 安装 TigerVNC Server

TigerVNC 是目前较流行的 VNC Server 实现,在 CentOS 上可以使用 yum 进行安装。
安装 TigerVNC Server yum install tigervncserver y
2. 配置 VNC Server
为了使用 systemd 管理 VNC Server 服务,需要创建相应的服务单元文件。
拷贝服务模板文件 cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
编辑配置文件/etc/systemd/system/vncserver@:1.service:
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking Clean any existing files in /tmp/.X11unix environment ExecStartPre=/bin/sh c '/usr/bin/vncserver kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i ExecStop=/bin/sh c '/usr/bin/vncserver kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multiuser.target
注意:上述配置文件中的%i 会被实例名替换,例如vncserver@:1.service 中的1。
3. 设置 VNC 密码

为 VNC Server 设置密码,确保只有知道密码的用户才能连接。
设置 VNC 密码(适用于 root 用户) vncpasswd
按照提示输入并确认密码,如果需要为其他用户设置密码,可以切换到相应用户后执行vncpasswd。
4. 配置防火墙
为了使 VNC Server 能够接受外部连接,需要配置防火墙。
停止并禁用 firewalld systemctl stop firewalld systemctl disable firewalld 或者开放 VNC 使用的端口(如 5901) firewallcmd permanent addport=5901/tcp firewallcmd reload
5. 启动并启用 VNC Server 服务
启动并设置 VNC Server 服务开机自启。
启动 VNC Server 服务 systemctl start vncserver@:1.service 设置开机自启 systemctl enable vncserver@:1.service
三、连接 VNC Server
1. 下载 VNC Viewer
前往 [RealVNC 官方网站](https://www.realvnc.com/en/connect/download/viewer/) 下载适用于你的操作系统的 VNC Viewer。
2. 连接到 VNC Server
打开 VNC Viewer,输入服务器的 IP 地址或主机名,然后输入之前设置的 VNC 密码即可连接,如果服务器的 IP 地址是192.168.1.100,则 VNC Server URL 为192.168.1.100:5901。
四、多用户配置
如果需要多个用户同时连接,可以为每个用户创建独立的服务文件,为第二个用户创建vncserver@:2.service:
拷贝并编辑第二个用户的服务文件 cp /etc/systemd/system/vncserver@:1.service /etc/systemd/system/vncserver@:2.service vim /etc/systemd/system/vncserver@:2.service
修改文件中的相关参数,特别是PIDFile 和ExecStart 中的用户信息,然后重新加载 systemd,并启动新的服务。
五、常见问题及解决
Q1: VNC Server 无法连接怎么办?
A1: 确保以下几点:
1、VNC Server 服务已启动并正在运行:systemctl status vncserver@:1.service
2、防火墙已开放相应端口:firewallcmd listall
3、VNC Server 配置文件中用户和权限设置正确。
4、客户端使用正确的服务器 IP 地址和端口号。
Q2: 如何更改 VNC Server 的显示分辨率?
A2: 编辑用户的~/.vnc/xstartup 文件,添加或修改以下行来设置分辨率:
#!/bin/sh [ x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ r $HOME/.Xresources ] && xrdb $HOME/.Xresources xrandr s <desired_resolution> startx &
将<desired_resolution> 替换为你所需的分辨率,例如1920x1080。
通过以上步骤,你应该能够在 CentOS 上成功安装和配置 VNC Server,并通过 VNC Viewer 进行远程连接,如果在过程中遇到任何问题,建议检查每一步的执行情况,并参考相关日志和文档进行排查。
