Lobsters | 原文链接 | 2026-09-09 收录

怀念「一切皆可 shell 脚本」:用脚本或 dinit 重新拉起 Plasma 会话(上)

来源: cukic.co — 2026-09-07

概述

KDE 开发者 Ivan Čukić 坦言自己有些恋旧——在 polkit、systemd、DBus、PulseAudio 之前的年代,Linux 桌面会话一切皆可 shell 脚本。于是他开始研究 Plasma 会话是被 startplasma 怎么拉起来的、能否用简单脚本或别的 init 复现。梳理下来这流程不难只是有点绕:显示管理器拉起 startplasma → 建 DBus 会话 → 起 startplasmacompositor/kwin_wayland → 再由 plasma_session 去拉 kded6、ksmserver;kactivitymanagerd 之类则靠 DBus 被别的组件按需自动拉起。他用一段 env.sh 集中设置好 XDG/Qt/KDE 环境变量,主脚本里 source 它、跑 dbus-update-activation-environment --all,再依次在后台起 kwin_wayland、kactivitymanagerd、ksmserver、kded6、plasmashell、krunner,最后 wait 住 kwin 的 PID——一个能用的 Plasma 会话就起来了,只是没有开屏动画。他随后就把它换成了更精致的 dinit 方案(下一篇再展开),并提醒大家这更多是「瞎折腾」而非要照做,会话恢复这类暗坑可能踩雷。

核心要点

金句

I sometimes miss the simplicity of "everything can be a shell script".
返回 Lobsters 首页