本文最后更新于:2024年5月4日 下午
1、Centos安装图形界面
Centos图形界面的安装有下面两种方法,按需选择:
1.1、安装X Windows System图形界面
X Window System为底层图形子系统,适配大多数的Linux及unix系统,兼容性更广。其主要是管理硬件设备与图形环境之间的交互,如显示、用户输入。其他窗口布局、装饰或用户交互元素都不包括在其中,为基础的一个图形系统:
1 2 3 4 5 6 7 8 9
| 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构建,包含一套完整的界面元素,窗口、图标、工具栏、文件管理器等,同时继承了各种应用程序和工具,对用户的交互和使用更为的友好:
1 2 3 4 5 6 7 8
| 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:
1
| yum install tigervnc-server -y
|
安装完成如下:

2.2、VNC SERVER配置
1)创建vnc配置文件
拷贝一个服务设置的模板:
注意: 一个用户对应1个配置文件,当需要3用户时,上述指令需要执行3次,vncserver@:1.service文件序号迭代至vncserver@:3.service。这里的序号也对应后续连接的端口序号。
2)修改配置文件内容
使用文本编辑器修改配置文件内容:
1
| vim /etc/systemd/system/vncserver@:1.service
|
默认配置内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [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
|
这里需要修改三处:
修改为forking,如下:
将其中的替换为自己当前的用户名,如下这里以root用户为例,其他用户改为对应用户名即可:
1
| ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
|
这里区分root用户和非root用户。
root用户配置如下:
1
| PIDFile=/root/.vnc/%H%i.pid
|
非root用户配置如下,以用户testvnc示例,配置如下:
1
| PIDFile=/home/testvnc/.vnc/%H%i.pid
|
3)完整配置文件参考
完整修改后的root用户配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [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示例,配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [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:
2.3、设置vnc密码
1 2 3
| # 切换至对应用户,配置VNC密码。不同用户的密码不同,均需要单独配置。 su <USER> vncpasswd
|
设置完密码后配置只读密码选择n,不进行配置:

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

2.5、启动vnc服务
1 2 3 4 5 6 7 8 9 10
| # 设置开机启动 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
配置的密码:

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

参考:https://linux.cn/article-5335-1.html