使用root用户启动vncserver如何配置
在 CentOS 7 上使用 root 用户启动 VNC 服务器,配置流程与普通用户非常相似,主要区别在于 systemd 配置文件中的路径 以及 密码和启动脚本的存放位置(root 用户的家目录是 /root,而不是 /home/username)。
以下是完整的 root 用户 VNC 配置步骤:
第一步:创建并修改 systemd 配置文件
复制一份专属于 :1 端口(对应实际端口 5901)的 VNC 服务配置文件:
Bash
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
使用编辑器打开该文件:
Bash
vi /etc/systemd/system/vncserver@:1.service
将文件内容清空,或者直接修改为专属于 root 用户的标准配置(直接完整复制下方内容覆盖即可):
Ini, TOML
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/root
注意:root 用户的隐藏目录在 /root/.vnc/
PIDFile=/root/.vnc/%H%i.pid
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
保存并退出(按 Esc,输入 :wq 回车)。
第二步:设置 root 用户的 VNC 密码
直接在当前的 root 用户终端下执行以下命令,设置远程连接密码:
Bash
vncpasswd
系统会提示输入两次密码。随后会询问是否创建“只读密码(view-only password)”,输入 n 即可。
第三步:配置 Xfce 桌面启动脚本
为了让 root 用户通过 VNC 登录后显示的是 Xfce 桌面,我们需要配置 root 的 xstartup 脚本:
创建或编辑 root 的 VNC 启动文件:
Bash
vi /root/.vnc/xstartup
写入以下内容(指定启动 Xfce):
Bash
!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
启动 Xfce 桌面
startxfce4 &
赋予该脚本可执行权限:
Bash
chmod +x /root/.vnc/xstartup
第四步:清理残留锁文件并启动服务
由于你之前可能尝试启动过 VNC,建议先清理一下可能残留的锁文件,防止端口冲突。
清理可能存在的缓存与锁(非常重要):
Bash
rm -f /tmp/.X11-unix/X1
rm -f /tmp/.X1-lock
重新加载 systemd 守护进程:
Bash
systemctl daemon-reload
启动 root 的 VNC 服务并设置开机自启:
Bash
systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
第五步:验证服务状态
检查服务是否成功运行:
Bash
systemctl status vncserver@:1.service -l
如果输出中显示绿色的 active (running),说明 root 用户的 VNC 服务已经成功搭建并启动。此时你可以打开 VNC Viewer,输入 服务器IP:5901 或 服务器IP:1 连入 Xfce 桌面。