我已经在 Arch Linux 上使用 Gnome 配置了 Plymouth,并且可以毫无问题地启动(就像我输入加密密钥,进入登录屏幕,并且可以成功登录一样)。不幸的是,plymouth-quit-wait.service
永远不会完成:
~ systemctl status plymouth-quit-wait
● plymouth-quit-wait.service - Hold until boot process finishes up
Loaded: loaded (/usr/lib/systemd/system/plymouth-quit-wait.service; static)
Active: activating (start) since Wed 2020-08-19 11:37:12 CEST; 4min 31s ago
Main PID: 603 (plymouth)
Tasks: 1 (limit: 38119)
Memory: 312.0K
CGroup: /system.slice/plymouth-quit-wait.service
└─603 /usr/bin/plymouth --wait
Aug 19 11:37:12 hostname systemd[1]: Starting Hold until boot process finishes
我不明白其中的原因,因为一切正常。我可以在哪里查找故障排除信息?
答案1
从评论来看,问题似乎plymouthd
仍在运行,plymouth-quit-wait.service
正在等待它退出。
因为plymouthd
需要在 initramfs 中启动并至少保持运行直到 GUI 服务器(无论是 X11 还是 Wayland)启动,所以至少在 Debian 上它的服务名称有点不寻常:
/lib/systemd/system/plymouth-start.service
实际上plymouthd
作为一个分叉一次性服务启动,并告诉它开始显示启动画面。- 如有必要,
systemd-ask-password-plymouth.service
告诉它询问诸如磁盘加密密码之类的信息 plymouth.service
是一个符号链接plymouth-quit.service
,它是另一个运行的一次性服务plymouth quit
,应该告诉plymouthd
退出。
Arch 的设置可能有所不同,但我认为某些服务plymouth quit
在应该运行时没有运行,或者plymouthd
没有收到应该退出的消息。
您可以尝试plymouth quit
以 root 身份手动运行 - 如果这导致plymouthd
退出并systemctl status
转换到State: running
,那么问题就在于plymouth quit
无法自动执行。如果状态没有改变,则尝试终止该plymouthd
进程,因为它似乎以某种方式挂起。
您是否偶然使用了专有的 NVIDIA GPU 驱动程序?如果我没记错的话,存在/曾经存在一个问题,即它设置显示帧缓冲区配置的方式plymouthd
无法正常工作。如果是这样,那么您可能想尝试基于文本的普利茅斯启动主题,或者完全禁用启动启动项。