From 807683dbc60619d33919eb09bb66de195ae74eb1 Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 9 Sep 2026 21:45:46 +0000 Subject: [PATCH] =?UTF-8?q?kde:=20XDG=5FMENU=5FPREFIX=20en=20los=20CINCO?= =?UTF-8?q?=20lanzadores=20=E2=80=94=20el=20men=C3=BA=20de=20aplicaciones?= =?UTF-8?q?=20sal=C3=ADa=20vac=C3=ADo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Arrancando la imagen KDE recién regenerada, el serial dijo: "applications.menu" not found in QList("/etc/xdg/menus") y el escritorio pintó perfecto igual: fondo, panel, reloj, bandeja. Ése es justo el modo de fallo que este repo persigue — nada falla, simplemente el menú de aplicaciones no tiene qué mostrar. ⚠ Y EL DIAGNÓSTICO OBVIO ERA EL EQUIVOCADO. Lo primero que anoté fue «falta el fichero, hay que empaquetarlo». **No falta**: `plasma-workspace` instala `/etc/xdg/menus/plasma-applications.menu` —verificado en el store Y en el rootfs de la imagen, 9904 bytes—. Lo que faltaba es el PREFIJO: Plasma construye el nombre como `${XDG_MENU_PREFIX}applications.menu`, y sin la variable busca `applications.menu` a secas, que no existe con ese nombre en NINGUNA distro con Plasma. El error nombra un fichero que nunca tuvo ese nombre. La etiqueta contra el hecho, otra vez. El arreglo es una línea. Lo que no era una línea es DÓNDE: los cinco lanzadores de Plasma exportan `XDG_DATA_DIRS` y ninguno exportaba éste —comprobado uno por uno—, así que arreglar sólo el de QEMU habría dejado la misma trampa en metal, metal-sw, el anidado y el headless. Es el cable que este repo ya vio caer cinco veces en `cosecha-cron.sh` y en la frontera del sembrador: arreglar el caso y dejar la trampa. Van los cinco. plasma-start-qemu.sh · plasma-start-metal.sh · plasma-start-metal-sw.sh export nested-plasma.sh · run-plasma-headless.sh --setenv (arman con bwrap) VERIFICADO, y digo exactamente qué: que el nombre que Plasma construirá con el prefijo EXISTE en la ruta donde lo busca (`/etc/xdg/menus/plasma-applications.menu` está en el rootfs de la imagen). Lo que NO está verificado es el menú renderizado — eso pide reconstruir la imagen y arrancarla otra vez. El `plasma-start` horneado en el rootfs fundido ya se refrescó con el script corregido, así que la imagen queda a un rebuild de distancia. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV --- scripts/kde/nested-plasma.sh | 1 + scripts/kde/plasma-start-metal-sw.sh | 8 ++++++++ scripts/kde/plasma-start-metal.sh | 8 ++++++++ scripts/kde/plasma-start-qemu.sh | 8 ++++++++ scripts/kde/run-plasma-headless.sh | 1 + 5 files changed, 26 insertions(+) diff --git a/scripts/kde/nested-plasma.sh b/scripts/kde/nested-plasma.sh index c2092550..be65a29a 100755 --- a/scripts/kde/nested-plasma.sh +++ b/scripts/kde/nested-plasma.sh @@ -17,6 +17,7 @@ exec bwrap --overlay-src "$A" --overlay-src "$R" --tmp-overlay / \ --setenv QML2_IMPORT_PATH /usr/lib64/qt6/qml:/usr/lib/qt6/qml \ --setenv QML_IMPORT_PATH /usr/lib64/qt6/qml:/usr/lib/qt6/qml \ --setenv XDG_DATA_DIRS /usr/share --setenv XDG_RUNTIME_DIR /run/user/0 \ + --setenv XDG_MENU_PREFIX plasma- \ --setenv XDG_CONFIG_HOME /root/.config --setenv XDG_CACHE_HOME /root/.cache --setenv HOME /root \ --setenv LIBGL_ALWAYS_SOFTWARE 1 --setenv GALLIUM_DRIVER llvmpipe \ --setenv MESA_LOADER_DRIVER_OVERRIDE swrast --setenv LIBGL_DRIVERS_PATH /usr/lib/dri \ diff --git a/scripts/kde/plasma-start-metal-sw.sh b/scripts/kde/plasma-start-metal-sw.sh index 31c2eeac..7ec90f73 100755 --- a/scripts/kde/plasma-start-metal-sw.sh +++ b/scripts/kde/plasma-start-metal-sw.sh @@ -20,6 +20,14 @@ export QT_PLUGIN_PATH=/usr/lib64/qt6/plugins:/usr/lib/qt6/plugins export QML2_IMPORT_PATH=/usr/lib64/qt6/qml:/usr/lib/qt6/qml export QML_IMPORT_PATH=$QML2_IMPORT_PATH export XDG_DATA_DIRS=/usr/share +# ⚠ XDG_MENU_PREFIX: sin esto el MENÚ DE APLICACIONES sale VACÍO, y el fallo no se ve al arrancar. +# Medido el 2026-09-09 arrancando la imagen KDE: el serial dice +# "applications.menu" not found in QList("/etc/xdg/menus") +# y el escritorio pinta perfecto igual. **No falta el fichero**: `plasma-workspace` instala +# `/etc/xdg/menus/plasma-applications.menu`. Lo que falta es el PREFIJO que le dice a Plasma que +# busque ese nombre y no `applications.menu` a secas. Es la etiqueta contra el hecho: el error +# nombra un fichero que nunca existió con ese nombre en ninguna distro con Plasma. +export XDG_MENU_PREFIX=plasma- export XDG_RUNTIME_DIR=/run/user/0 export XDG_CONFIG_HOME=/root/.config export XDG_CACHE_HOME=/root/.cache diff --git a/scripts/kde/plasma-start-metal.sh b/scripts/kde/plasma-start-metal.sh index 8eea1d9c..545c0e43 100755 --- a/scripts/kde/plasma-start-metal.sh +++ b/scripts/kde/plasma-start-metal.sh @@ -18,6 +18,14 @@ export QT_PLUGIN_PATH=/usr/lib64/qt6/plugins:/usr/lib/qt6/plugins export QML2_IMPORT_PATH=/usr/lib64/qt6/qml:/usr/lib/qt6/qml export QML_IMPORT_PATH=$QML2_IMPORT_PATH export XDG_DATA_DIRS=/usr/share +# ⚠ XDG_MENU_PREFIX: sin esto el MENÚ DE APLICACIONES sale VACÍO, y el fallo no se ve al arrancar. +# Medido el 2026-09-09 arrancando la imagen KDE: el serial dice +# "applications.menu" not found in QList("/etc/xdg/menus") +# y el escritorio pinta perfecto igual. **No falta el fichero**: `plasma-workspace` instala +# `/etc/xdg/menus/plasma-applications.menu`. Lo que falta es el PREFIJO que le dice a Plasma que +# busque ese nombre y no `applications.menu` a secas. Es la etiqueta contra el hecho: el error +# nombra un fichero que nunca existió con ese nombre en ninguna distro con Plasma. +export XDG_MENU_PREFIX=plasma- export XDG_RUNTIME_DIR=/run/user/0 export XDG_CONFIG_HOME=/root/.config export XDG_CACHE_HOME=/root/.cache diff --git a/scripts/kde/plasma-start-qemu.sh b/scripts/kde/plasma-start-qemu.sh index d4948c3a..dde651c8 100644 --- a/scripts/kde/plasma-start-qemu.sh +++ b/scripts/kde/plasma-start-qemu.sh @@ -22,6 +22,14 @@ export QT_PLUGIN_PATH=/usr/lib64/qt6/plugins:/usr/lib/qt6/plugins export QML2_IMPORT_PATH=/usr/lib64/qt6/qml:/usr/lib/qt6/qml export QML_IMPORT_PATH=$QML2_IMPORT_PATH export XDG_DATA_DIRS=/usr/share +# ⚠ XDG_MENU_PREFIX: sin esto el MENÚ DE APLICACIONES sale VACÍO, y el fallo no se ve al arrancar. +# Medido el 2026-09-09 arrancando la imagen KDE: el serial dice +# "applications.menu" not found in QList("/etc/xdg/menus") +# y el escritorio pinta perfecto igual. **No falta el fichero**: `plasma-workspace` instala +# `/etc/xdg/menus/plasma-applications.menu`. Lo que falta es el PREFIJO que le dice a Plasma que +# busque ese nombre y no `applications.menu` a secas. Es la etiqueta contra el hecho: el error +# nombra un fichero que nunca existió con ese nombre en ninguna distro con Plasma. +export XDG_MENU_PREFIX=plasma- export XDG_RUNTIME_DIR=/run/user/0 export XDG_CONFIG_HOME=/root/.config # konsole toma el intérprete de $SHELL, NO de /etc/passwd, y este getty no es un login shell ⇒ sin diff --git a/scripts/kde/run-plasma-headless.sh b/scripts/kde/run-plasma-headless.sh index 2a5f11a8..7f7ac4b0 100644 --- a/scripts/kde/run-plasma-headless.sh +++ b/scripts/kde/run-plasma-headless.sh @@ -21,6 +21,7 @@ exec bwrap --overlay-src "$A" --overlay-src "$R" --tmp-overlay / \ --setenv QML2_IMPORT_PATH /usr/lib64/qt6/qml:/usr/lib/qt6/qml \ --setenv QML_IMPORT_PATH /usr/lib64/qt6/qml:/usr/lib/qt6/qml \ --setenv XDG_DATA_DIRS /usr/share --setenv XDG_RUNTIME_DIR /run \ + --setenv XDG_MENU_PREFIX plasma- \ --setenv XDG_CONFIG_HOME /run/cfg --setenv HOME /run \ --setenv LIBGL_ALWAYS_SOFTWARE 1 --setenv GALLIUM_DRIVER swrast \ --setenv LIBGL_DRIVERS_PATH /usr/lib/dri --setenv MESA_LOADER_DRIVER_OVERRIDE swrast \