From 32926dc6df60c5779acb6a52edb772d56a903b94 Mon Sep 17 00:00:00 2001 From: sergio Date: Wed, 29 Jul 2026 19:02:45 -0400 Subject: [PATCH] =?UTF-8?q?gnome:=20runbook=20=E2=80=94=20iconos/cursor=20?= =?UTF-8?q?cerrados,=20y=20el=20setuid=20del=20launch-helper=20era=20una?= =?UTF-8?q?=20causa=20con=20dos=20s=C3=ADntomas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Captura actualizada: ahora se ve el puntero (Adwaita) y el icono de la notificación. Colores distintos 582 → 629. El setuid del dbus-daemon-launch-helper explicaba DOS cosas, no una: el «permission of the setuid helper is not correct» de colord y, por la misma vía, que ninguna activación por bus de sistema funcionara. Con el arreglo, colord pasó de «permiso incorrecto» a «timed out» — la activación ya se intenta y lo que queda es del demonio. Queda UPower: upowerd arranca y sigue vivo, pero no adquiere su nombre en el bus (su política D-Bus está verificada y permite own a root), así que el shell espera sus 25s. Es el indicador de batería en una VM sin batería. Y queda escrita la lección que costó una iteración: **un pid no es un servicio**. Reportar «lanzado» sin comprobar que el daemon adquirió su nombre es reportar una intención, no un hecho. Co-Authored-By: Claude Opus 5 (1M context) --- .../evidencia/gnome-shell-qemu-2026-07-29.png | Bin 21630 -> 22410 bytes docs/runbooks/gnome-qemu-desktop.md | 36 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/docs/evidencia/gnome-shell-qemu-2026-07-29.png b/docs/evidencia/gnome-shell-qemu-2026-07-29.png index 30e05aa41ad7d726f5400c333d7764dc4de02076..5aab2d2e133d2b39362e84331ba54f9cd4ebe5e2 100644 GIT binary patch literal 22410 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 DtjGPU literal 21630 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 Zg;Ty-@J{t~0+mEAoV|P|OUL@r{{XSA7n}e9 diff --git a/docs/runbooks/gnome-qemu-desktop.md b/docs/runbooks/gnome-qemu-desktop.md index 734811d8..6dc1cc34 100644 --- a/docs/runbooks/gnome-qemu-desktop.md +++ b/docs/runbooks/gnome-qemu-desktop.md @@ -100,14 +100,42 @@ datos del demonio, es una interfaz publicada que consume otro programa. esperar a que la imagen esté hecha Y no haya otro QEMU con el disco tomado (`Failed to get "write" lock` es el aviso de que hay uno vivo). +### Iconos y cursor: `adwaita-icon-theme` (cerrado) + +`No cursor theme available` no era cosmético: **con el cursor por software** —obligatorio en +virtio-gpu con render software— mutter dibuja la imagen que le da el tema, y sin tema el puntero se +movía invisible. Con `adwaita-icon-theme` (+ `hicolor-icon-theme`, que su `index.theme` hereda) el +cursor aparece y la notificación del shell tiene su icono. Colores distintos: 582 → 629. + +Dos gotchas de esas dos recetas: **hicolor 0.18 pasó de autotools a meson** (su tarball ya no trae +`configure`, y un `./configure` heredado sale con 127), y adwaita declara `gtk-update-icon-cache` +como `required: true` para un `add_install_script` que **su propio autor marcó +`skip_if_destdir: true`** — exige un binario que en un build empaquetado no puede ejecutar. Se borran +los dos bloques; `required: false` no alcanza porque meson no propaga el disabler ahí dentro. + +### El setuid del launch-helper: una causa, dos síntomas (cerrado) + +`dbus-daemon-launch-helper` es el que `dbus-daemon` ejecuta para activar un servicio del bus de +SISTEMA bajo demanda, y **comprueba sus propios permisos antes de hacer nada**: si no es setuid root +se niega, y el cliente recibe `The permission of the setuid helper is not correct` — que es lo que +reportaba colord. Sin eso **ninguna** activación por bus de sistema funciona. La imagen ahora lo deja +`root:messagebus 4750`, y el síntoma de colord cambió de «permiso incorrecto» a «timed out»: la +activación ya se intenta de verdad, y lo que queda es del demonio, no del bus. + ### Lo que queda, y ninguno impide el escritorio -- `Failed to activate service 'org.freedesktop.UPower': timed out` — falta lanzar `upowerd` en - `gnome-start`, como se hace con `accounts-daemon`. -- `No cursor theme available` — falta un tema de cursor (adwaita-icon-theme). -- colord no arranca: su helper setuid no tiene los permisos correctos en la imagen. +- **UPower**: `gnome-start` lanza `upowerd` y **verifica que siga vivo** (lo hace: «upowerd sigue + vivo»), pero el nombre `org.freedesktop.UPower` no aparece en el bus y el shell espera sus 25 s. + Su política D-Bus está bien (`allow own` para root, verificado en el artefacto), así que el proximo + paso es mirar el log del propio upowerd —probablemente se queda enumerando por gudev sobre + libudev-zero—. Es el indicador de batería en una VM sin batería. +- **colord**: activación por bus ya permitida, el demonio no llega a arrancar. Es gestión de color. - `Missing required core component Settings` — es gnome-control-center, que no está en el corpus. +**Lección de las dos anteriores, que ya costó una iteración: un pid no es un servicio.** La primera +versión del lanzamiento de upowerd decía «lanzado» y el shell seguía esperando; reportar el arranque +de un daemon sin comprobar que adquirió su nombre es reportar una intención, no un hecho. + ## CÓMO SE CERRÓ LA CAPA JS (2026-07-29) Era el muro anterior, y quedó cerrado. Vale la pena dejar cómo, porque el método es reusable.