Plasmashell
不再自动启动。每次启动计算机时我都必须运行killall plasmashell
。plasmashell &
我想知道哪个程序或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]
启动实际流程。主要的例外似乎是窗口管理器:kwin
or 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
你正在杀死的进程遗留下来的以前的会议?在这种情况下,您还应该调查会话结束时发生的情况。