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 进行远程连接,如果在过程中遇到任何问题,建议检查每一步的执行情况,并参考相关日志和文档进行排查。