前言
CentOS 8 配置 VNC Server, 使用户可以远程访问,本例介绍安装和配置流程。
环境说明
CentOS 8(Desktop Install)
因为使用图形用户界面,本例使用 GNOME 桌面环境。
$ cat /etc/centos-release
CentOS Linux release 8.3.2011
本例中 Linux(CentOS 8) 系统用户有两个 root 和 admin,VNC Viewer 使用 admin 进行访问。
安装
安装桌面环境
如果没有安装 Desktop 版本,需要先安装 X Windows。
注意
安装桌面环境,未测试。
$ sudo dnf groupinstall "workstation"
$ sudo dnf groupinstall "Server with GUI"
设置默认启动图形界面
$ sudo systemctl set-default graphical
重启服务器
$ sudo reboot
重启之后,应该有 CentOS 8 的桌面环境了。
安装 VNC Server
yum 安装 tigervnc-server
$ sudo dnf install tigervnc-server tigervnc-server-module
配置
VNC Server 支持多种配置,如:
- 单用户单界面配置(一个用户访问,使用一个界面)
- 多用户单界面配置(多个用户访问,使用同一个界面)
- 多用户多界面配置(多个用户访问,使用各自的界面)
本例比较简单,只介绍单用户单界面配置。
配置单用户单界面
可以查看一下帮助文档
注意
CentOS 8 安装与 CentOS 7 不同,可以参考这个文档
$ less /usr/share/doc/tigervnc/HOWTO.md
拷贝模板
$ sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
不需要编辑这个模版,根据 HOWTO.md
的描述,直接编辑配置文件即可
重新加载 systemd
$ sudo systemctl daemon-reload
编辑用户配置文件
$ sudo vi /etc/tigervnc/vncserver.users
编辑后看起来是这样的
# TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa
:1=admin
说明
:1
表示这个启动的端口为。5901,之后一次类推:2
为 5902;:1=admin
表示 5901 为 admin 用户的远程连接;
:wq
保存
配置 Xvnc 选项
$ sudo vi /etc/tigervnc/vncserver-config-defaults
本例如下
## Default settings for VNC servers started by the vncserver service
#
# Any settings given here will override the builtin defaults, but can
# also be overriden by ~/.vnc/config and vncserver-config-mandatory.
#
# See the following manpages for more details: vncserver(1) Xvnc(1)
#
# Several common settings are shown below. Uncomment and modify to your
# liking.
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
# geometry=2000x1200
# localhost
# alwaysshared
session=gnome
geometry=1024x768
说明
session=gnome
表示为使用 gnome 桌面geometry=1024x768
表示桌面的分辨率
这样服务的主要配置就完成了
配置访问密码
本例使用 admin 用户的桌面环境,如果使用其他用户,请先切换到 admin 用户
# su admin
$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
开启服务
$ sudo systemctl start vncserver@:1
这样就开启了第一个界面
注意
- 服务的文件
/etc/systemd/system/vncserver@.service
没有:1
:1
使当参数启动服务器,表示启动第一个界面
设置开机启动
$ sudo systemctl enable vncserver@:1
打开防火墙
我们需要配置防火墙, 打开 VNC 服务
$ sudo firewall-cmd --permanent --add-service vnc-server
success
$ sudo firewall-cmd --reload
success
客户端访问
下载 VNC Viewer
设置如下:
VNC Server: YOUR_SERVER_IP:1
Name: YOUR_Display_1
连接之后,输入 admin 的 vpnpasswd,既可看到界面了。
参考资料
How to Install and Configure VNC Server on Centos 8 / RHEL 8
VNC Viewer