前置条件#
dnf groupinstall -y "GNOME Desktop" "Graphical Administration Tools"安装完成后,设置系统默认启动为图形界面(避免重启后仍进入命令行界面)
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target至此,图形桌面环境安装完成
安装 VNC Server#
推荐使用 tigervnc-server 作为 VNC 服务端,兼容性好、操作简单
dnf install -y tigervnc-server配置VNC Server#
如果你的操作系统中启用了 firewalld | iptables | nftables 防火墙,VNC 连接默认使用 5901 端口(对应桌面编号 :1 如果配置多个桌面,端口依次为 5902、5903 等),因此需要开放 5901 端口,否则客户端无法连接到服务器,如果是云服务器也需要在对应的安全组中放行。
以firewalld为例:firewall-cmd --add-port=5901/tcp --permanent && firewall-cmd --reload
配置 VNC 登录用户及密码
VNC 连接需要指定登录用户,并设置对应密码,这里以 root 用户为例做配置(若使用普通用户,操作逻辑一致,只需切换到对应普通用户即可)
执行以下命令设置vnc连接密码
vncpasswd输入两次密码,后续会提示是否设置“仅查看”密码(仅查看权限无法操作服务器,仅能查看界面),一般直接回车跳过就行
配置 VNC 服务#
首先复制系统默认的 VNC 服务模板文件,生成我们自定义的服务文件(桌面编号为 :1,对应端口 5901),所以
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:1.service
vim /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
WorkingDirectory=/root
User=root
Group=root
PIDFile=/root/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i
Restart=on-success
RestartSec=15
[Install]
WantedBy=multi-user.target找到 [Service] 段中的 WorkingDirectory、User、Group 三行,将其中的“vnc用户名”替换为实际的登录用户(本文以 root 用户为例,替换后如下);同时确保 PIDFile、ExecStart 等参数配置没问题
服务文件配置完成后,需要重新加载 systemd 配置,使服务文件生效,然后启用 VNC服务就可以了
systemctl daemon-reload && systemctl enable --now vncserver@\:1.service