文章目录
-
- 1、Centos安装图形界面
-
- [1.1、安装X Windows System图形界面](#1.1、安装X Windows System图形界面)
- 1.2、安装GNOME图形界面
- [2、VNC SERVER配置](#2、VNC SERVER配置)
-
- [2.1、VNC SERVER安装](#2.1、VNC SERVER安装)
- [2.2、VNC SERVER配置](#2.2、VNC SERVER配置)
- 2.3、设置vnc密码
- 2.4、配置防火墙
- 2.5、启动vnc服务
- [3、vnc viewer连接](#3、vnc viewer连接)
-
- [3.1、vnc viewer下载](#3.1、vnc viewer下载)
- [3.2、连接vnc server](#3.2、连接vnc server)
1、Centos安装图形界面
Centos图形界面的安装有下面两种方法,按需选择:
1.1、安装X Windows System图形界面
X Window System为底层图形子系统,适配大多数的Linux及unix系统,兼容性更广。其主要是管理硬件设备与图形环境之间的交互,如显示、用户输入。其他窗口布局、装饰或用户交互元素都不包括在其中,为基础的一个图形系统:
shell
yum update -y
yum grouplist
# 安装图形化界面
yum groups install "X Window System"
yum groups install "MATE Desktop"
# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target
# 恢复为命令模式
systemctl set-default multi-user.target
安装完成后执行reboot
重启设备生效图形界面。
1.2、安装GNOME图形界面
GNOME为一个完整的桌面系统,基于X Window System构建,包含一套完整的界面元素,窗口、图标、工具栏、文件管理器等,同时继承了各种应用程序和工具,对用户的交互和使用更为的友好:
shell
yum update -y
yum grouplist
# 安装GNOME图形界面
yum groupinstall -y "GNOME Desktop"
# 安装完成后,修改默认启动方式为图形化界面
systemctl set-default graphical.target
# 恢复为命令模式
systemctl set-default multi-user.target
安装完成后执行reboot
重启设备生效图形界面。
2、VNC SERVER配置
2.1、VNC SERVER安装
安装vnc server:
shell
yum install tigervnc-server -y
安装完成如下:

2.2、VNC SERVER配置
1)创建vnc配置文件
拷贝一个服务设置的模板:
shell
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
注意: 一个用户对应1个配置文件,当需要3用户时,上述指令需要执行3次,vncserver@:1.service文件序号迭代至vncserver@:3.service。这里的序号也对应后续连接的端口序号。
2)修改配置文件内容
使用文本编辑器修改配置文件内容:
shell
vim /etc/systemd/system/vncserver@:1.service
默认配置内容如下:
shell
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper <USER> %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
这里需要修改三处:
- 1、[Service]类型
修改为forking,如下:
shell
[Service]
Type=forking
- 2、ExecStart值
将其中的替换为自己当前的用户名,如下这里以root用户为例,其他用户改为对应用户名即可:
shell
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
- 3、添加PIDFile
这里区分root用户和非root用户。
root用户配置如下:
shell
PIDFile=/root/.vnc/%H%i.pid
非root用户配置如下,以用户testvnc示例,配置如下:
shell
PIDFile=/home/testvnc/.vnc/%H%i.pid
3)完整配置文件参考
完整修改后的root用户配置如下:
shell
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
非root用户完整配置文件,以用户testvnc示例,配置如下:
shell
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l testvnc -c "/usr/bin/vncserver %i"
PIDFile=/home/testvnc/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
配置完成后,重启systemd:
shell
systemctl daemon-reload
2.3、设置vnc密码
shell
# 切换至对应用户,配置VNC密码。不同用户的密码不同,均需要单独配置。
su <USER>
vncpasswd
设置完密码后配置只读密码选择n,不进行配置:

2.4、配置防火墙
配置防火墙来让 VNC 服务正常工作,将vnc服务进程添加到白名单中:
shell
sudo firewall-cmd --permanent --add-service vnc-server
sudo systemctl restart firewalld.service

2.5、启动vnc服务
shell
# 设置开机启动
systemctl enable vncserver@:1.service
# 启动vnc server
systemctl start vncserver@:1.service
# 查看vnc server状态
systemctl status vncserver@:1.service
# 检查vnc进程
ps -ef | grep vnc
# 查看服务监听的端口
netstat -lnpt|grep Xvnc
可以查看到 root 用户的连接序号为 1,对应的实际端口是 5901。可以使用 IP 地址和序号进行连接,例如 192.168.1.1:1
,这里的序号1并非指服务器的实际端口号,而是表示 VNC 连接的顺序,从 1 开始编号。实际上,VNC 服务本身默认使用 5900 端口,所以第一个连接的端口是 5901(5900+1)


3、vnc viewer连接
3.1、vnc viewer下载
官方下载地址:https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.10.0-Windows-64bit.exe
推荐使用便携版:

下载完成后,文件名称类似如下VNC-Viewer-7.10.0-Windows-64bit.exe
,双击exe文件可直接使用。
3.2、连接vnc server
进入RealVNC Viewer后,左上角File
-->New connection
添加新的连接:

VNC Server地址,配置为设备IP:1,1对应的为连接序号。实际使用端口5901(IP:5901)同样能够正常连接:

未加密连接提示,点击continue即可:

填入之前使用vncpasswd
配置的密码:

连接成功,输入账户登录密码,即可正常访问桌面环境了:
