Centos7.9下安装vnc总是报错

本人需要安装vnc来登陆服务器。现在照以下这篇文章进行了安装和配置,但是运行总是报错。
https://blog.51cto.com/u_2221384/2535631

运行systemctl start vncserver@:1.service报错后查status,显示:

[root@VM-0-4-centos ~]# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
   Active: failed (Result: protocol) since 二 2022-05-03 22:50:22 CST; 5s ago
  Process: 2209 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
  Process: 2206 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

5月 03 22:50:19 VM-0-4-centos systemd[1]: Starting Remote desktop service (VNC)...
5月 03 22:50:22 VM-0-4-centos systemd[1]: Can't open PID file /home/root/.vnc/VM-0-4-centos:1.pid (yet?) after start: No such file or directory
5月 03 22:50:22 VM-0-4-centos systemd[1]: Failed to start Remote desktop service (VNC).
5月 03 22:50:22 VM-0-4-centos systemd[1]: Unit vncserver@:1.service entered failed state.
5月 03 22:50:22 VM-0-4-centos systemd[1]: vncserver@:1.service failed.

问题大概率出现在这个PID文件上,因为我的默认service文件中没有教程中的那一行“PIDFile=/home/user/.vnc/%H%i.pid“,是我手动加上的。本人基本没接触过运维,还请大家指教

“PIDFile=/home/user/.vnc/%H%i.pid“, 改为 “PIDFile=/root/.vnc/%H%i.pid“,试下?

这个配置是由你的 ExecStart=/usr/sbin/runuser -l root 决定的
如果你的-l使用的root 那么就是/home/root 或者 /root
如下所示

ExecStart=/usr/sbin/runuser -l user -c “/usr/bin/vncserver %i”
PIDFile=/home/user/.vnc/%H%i.pid
ExecStart=/usr/sbin/runuser -l root -c “/usr/bin/vncserver %i”
PIDFile=/home/root/.vnc/%H%i.pid 或者 PIDFile=/root/.vnc/%H%i.pid 

如果还不行的话,
尝试创建一个用户比如用户名'user'
这里面,user的意思是根据您的要求替换“user”用户比如abc或者其他?。在上面的例子中,user 用户将能够使用远程 VNC 客户端控制和管理其桌面会话。

另外,或许你可以参考这篇文章来安装,感觉更加详细点,格式更加规范点:

补充:

如果您在运行 system start service 命令时遇到错误并且您是“root”用户
(例如,与“sammy”或“ubuntu”相反),您可能需要更新路径:

地点:

/etc/systemd/system/vncserver@.service
内容:

[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy

PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
对此:

[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/root

PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
具体来说:

/home/sammy/.vnc
更改为:

/root/.vnc

前边其他的都配置好了,就差这一步了,这两天都快神经衰弱了= =。求解救

远程账号需要配置密码