plymouth-quit-wait.service 不停止,启动未完成

plymouth-quit-wait.service 不停止,启动未完成

我已经在 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无法正常工作。如果是这样,那么您可能想尝试基于文本的普利茅斯启动主题,或者完全禁用启动启动项。

相关内容