阻止 VNC-Session 使用graphical.target | CentOS Stream 8 RHEL 8

阻止 VNC-Session 使用graphical.target | CentOS Stream 8 RHEL 8

我正在设置家庭服务器,但遇到了以下问题。

  • 使用tiger-vnc
  • 使用 CentOS Stream 8
  • 使用 root 用户

当我启动服务器时,仍然连接的显示屏会显示 ,localhost login: 但当multi-user.target 我通过 vnc 连接时,我会获得 root 用户的桌面环境。所以我只想在真正需要的时候手动启动桌面环境。我究竟做错了什么?我认为设置systemctl set-defaultmulti-user.target阻止 VNC 启动会话到graphical.target.为了未来我需要注意和改变什么?

这是get-default结果

[root@localhost ~]# systemctl get-default
multi-user.target

这里使用参数启用了 vnc 服务:1

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/libexec/vncsession-start %i
PIDFile=/run/vncsession-%i.pid
SELinuxContext=system_u:system_r:vnc_session_t:s0

[Install]
WantedBy=multi-user.target

这里的结果是systemctl status vncserver@\:1.service

vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2021-12-12 12:03:05 CET; 21min ago
  Process: 1139 ExecStart=/usr/libexec/vncsession-start :1 (code=exited, status=0/SUCCESS)
 Main PID: 1157 (vncsession)
    Tasks: 0 (limit: 100263)
   Memory: 2.4M
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ‣ 1157 /usr/sbin/vncsession root :1

Dec 12 12:03:00 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Dec 12 12:03:05 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).

答案1

您的 systemd 单元以 root 身份运行 VNC 服务器(因为没有定义用户),并且您已指示它使用 multi-user.target 启动,因此这就是它启动的时间。您的服务中没有任何与graphical.target相关的内容。

我建议您阅读/usr/share/doc/tigervnc/HOWTO.md有关正确设置 systemd 服务的文件(在线版本在这里)。

基本上,您将在 中设置特定的显示/用户映射/etc/tigervnc/vncserver.users,然后通过运行systemctl start vncserver@:1启动与显示 1 关联的用户会话来启动它们。

相关内容