我正在设置家庭服务器,但遇到了以下问题。
- 使用
tiger-vnc
- 使用 CentOS Stream 8
- 使用 root 用户
当我启动服务器时,仍然连接的显示屏会显示 ,localhost login:
但当multi-user.target
我通过 vnc 连接时,我会获得 root 用户的桌面环境。所以我只想在真正需要的时候手动启动桌面环境。我究竟做错了什么?我认为设置systemctl set-default
来multi-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 关联的用户会话来启动它们。