Reemplazar startplasma con scripts de shell o dinit (parte 1)

Fuentes: Replacing startplasma with shell scripts or dinit (Part 1)

El desarrollador Ivan Čukić explica cómo replicar el inicio de una sesión de KDE Plasma mediante un script de shell minimalista, prescindiendo del binario startplasma. El artículo describe la cadena habitual: el gestor dedisplay invoca startplasma, se crea una sesión de DBus y arrancan startplasmacompositor (con kwin_wayland), plasma_session, kded6 y ksmserver; otros componentes como kactivitymanagerd los lanza automáticamente DBus cuando se solicitan sus APIs.

A continuación, Čukić reconstruye el antiguo startkde: define variables de entorno básicas en un fichero env.sh aparte (útil para probar fuera del script principal), contempla PATH, XDG_DATA_DIRS, XDG_CONFIG_DIRS, QT_PLUGIN_PATH, QML2_IMPORT_PATH y QT_QUICK_CONTROLS_STYLE_PATH para instalaciones personalizadas, y respeta las variables definidas en ~/.config/plasma-workspace/env. El script principal se limita a cargar env.sh, ejecutar dbus-update-activation-environment --all e iniciar secuencialmente los componentes de la sesión; el autor reconoce que el sleep 1 empleado a la espera de wayland-0 es un apaño y existen alternativas mejores, aunque el startkde original también recurría a sleeps.

El último paso consiste en crear un fichero .desktop en /usr/share/wayland-session/ para que el gestor de display reconozca la sesión. Čukić indica que funciona sin incidencias relevantes, salvo la pérdida de la pantalla de bienvenida (ksplashqml, con 15 años de antigüedad), y adelanta que en una segunda entrega mostrará la versión basada en dinit.