[scode type="blue"]在日常运维工作中,在一些特定情况下需要通过GUI图形化界面管理服务器,但是使用控制台又不太方便,VNC Server 作为一款常用的远程桌面工具,可以帮我们轻松实现图形化远程连接,本文将结合实操命令,一步步教大家完成安装和配置,全程复制命令即可上手,新手也能轻松搞定![/scode] [scode type="green"] 本次操作基于Rocky Linux9.x 系统,使用 root 用户登录操作,确保服务器能够正常联网或者使用本地软件仓库(用于安装所需软件包);提前准备好 VNC 客户端(如 RealVNC、TightVNC、VNC Viewer,用于连接测试)[/scode] ### 前置条件 [scode type="yellow"] 如果你的操作系统是最小化安装的,默认没有图形桌面环境,而 VNC 远程连接需要依赖图形界面才能正常显示,因此我们首先需要安装 GNOME 桌面环境。 [/scode] ```bash dnf groupinstall -y "GNOME Desktop" "Graphical Administration Tools" ``` 安装完成后,设置系统默认启动为图形界面(避免重启后仍进入命令行界面) ```bash ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target ``` 至此,图形桌面环境安装完成 ### 安装 VNC Server 推荐使用 tigervnc-server 作为 VNC 服务端,兼容性好、操作简单 ```bash 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连接密码 ```bash vncpasswd ``` 输入两次密码,后续会提示是否设置“仅查看”密码(仅查看权限无法操作服务器,仅能查看界面),一般直接回车跳过就行 ### 配置 VNC 服务 首先复制系统默认的 VNC 服务模板文件,生成我们自定义的服务文件(桌面编号为 :1,对应端口 5901),所以 ```bash 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` ```bash [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` Loading... <div class="tip inlineBlock info"> 在日常运维工作中,在一些特定情况下需要通过GUI图形化界面管理服务器,但是使用控制台又不太方便,VNC Server 作为一款常用的远程桌面工具,可以帮我们轻松实现图形化远程连接,本文将结合实操命令,一步步教大家完成安装和配置,全程复制命令即可上手,新手也能轻松搞定! </div> <div class="tip inlineBlock success"> 本次操作基于Rocky Linux9.x 系统,使用 root 用户登录操作,确保服务器能够正常联网或者使用本地软件仓库(用于安装所需软件包);提前准备好 VNC 客户端(如 RealVNC、TightVNC、VNC Viewer,用于连接测试) </div> ### 前置条件 <div class="tip inlineBlock warning"> 如果你的操作系统是最小化安装的,默认没有图形桌面环境,而 VNC 远程连接需要依赖图形界面才能正常显示,因此我们首先需要安装 GNOME 桌面环境。 </div> ```bash dnf groupinstall -y "GNOME Desktop" "Graphical Administration Tools" ``` 安装完成后,设置系统默认启动为图形界面(避免重启后仍进入命令行界面) ```bash ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target ``` 至此,图形桌面环境安装完成 ### 安装 VNC Server 推荐使用 tigervnc-server 作为 VNC 服务端,兼容性好、操作简单 ```bash 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连接密码 ```bash vncpasswd ``` 输入两次密码,后续会提示是否设置“仅查看”密码(仅查看权限无法操作服务器,仅能查看界面),一般直接回车跳过就行 ### 配置 VNC 服务 首先复制系统默认的 VNC 服务模板文件,生成我们自定义的服务文件(桌面编号为 :1,对应端口 5901),所以 ```bash 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` ```bash [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` Last modification:February 13, 2026 © Allow specification reprint Support Appreciate the author Like 如果觉得我的文章对你有用,请随意赞赏