Plasmashell 从哪里开始?

Plasmashell 从哪里开始?

Plasmashell不再自动启动。每次启动计算机时我都必须运行killall plasmashellplasmashell &

我想知道哪个程序或systemd服务负责启动plasmashell,或者在哪个脚本中启动plasmashell,以便我可以解决此问题。

Operating System: Manjaro Linux 
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.70.0
Qt Version: 5.14.2
Kernel Version: 5.6.15-1-MANJARO
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 15,5 GiB of RAM

答案1

首先,无论您的发行版使用什么来选择 X11 会话类型,都会运行startkde脚本,该脚本将初始化各种内容,然后启动kdeinit(可能kdeinit5在某些发行版中)和ksmserver.

然后,这两者将根据系统范围和每个用户的配置继续会话启动过程。据我所知,ksmserver主要是下达命令并kdeinit[5]启动实际流程。主要的例外似乎是窗口管理器:kwinor kwin_x11,它由 直接启动ksmserver

完成后,ksmshell告诉kdeinit[5]其启动klauncher并运行“自动启动阶段 0”。这包括执行由.desktop系统范围和用户特定的自动启动目录中具有该X-KDE-autostart-phase=0属性的文件定义的任何二进制文件。

至少在 Debian 5 上,自动启动plasmashell是由 指定的/etc/xdg/autostart/org.kde.plasmashell.desktop,它确实有X-KDE-autostart-phase=0设置。

此后会话初始化和启动会持续一段时间。您可以找到完整过程的更详细描述源码ksmserver包README文件在这里。

您需要先运行的事实killall plasmashell表明,它plasmashell实际上可能正在启动,但可能由于某种原因而挂起:也许是因为它最终在它需要的其他东西完全设置之前试图启动太早?在这种情况下,您可能需要研究将丢失的位(无论它是什么)移到启动过程中的较早位置。

或者是plasmashell你正在杀死的进程遗留下来的以前的会议?在这种情况下,您还应该调查会话结束时发生的情况。

相关内容