From c0055331c738622982f38e4702b402db0e443803 Mon Sep 17 00:00:00 2001 From: sergio Date: Mon, 3 Aug 2026 10:05:29 -0400 Subject: [PATCH] gnome: esperar el NOMBRE de PolicyKit1 antes de lanzar a sus clientes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit accounts-daemon y upowerd morían al arrancar: el shim de polkit se lanza en background y tarda ~2s en adquirir org.freedesktop.PolicyKit1, ellos llamaban a polkit_authority_get_sync() en ese hueco, D-Bus intentaba ACTIVAR el servicio y fallaba con 'Failed to execute program ... Permission denied'. Lo peor era el informe: los tres esperar_nombre estaban al final, así que para cuando corrían el shim ya tenía el nombre y el resumen daba 'PolicyKit1 OK' sobre dos clientes ya muertos. Un chequeo posterior a la carrera no la mide. esperar_nombre pasa a definirse antes del primer daemon y el bloque de polkit espera su propio nombre antes de que arranque ningún cliente suyo. Lanzar en orden no es estar listo en orden. De paso queda cerrado el ítem 4 del runbook: validación CON PANTALLA (DISP=gtk) del Overview con el PID1 sellado nuevo — 689 colores distintos, con evidencia. Co-Authored-By: Claude Opus 5 (1M context) --- ...ome-shell-qemu-2026-08-03-pid1-sellado.png | Bin 0 -> 25163 bytes docs/runbooks/gnome-qemu-desktop.md | 39 ++++++++- scripts/gnome/gnome-start-qemu.sh | 76 +++++++++++------- 3 files changed, 84 insertions(+), 31 deletions(-) create mode 100644 docs/evidencia/gnome-shell-qemu-2026-08-03-pid1-sellado.png diff --git a/docs/evidencia/gnome-shell-qemu-2026-08-03-pid1-sellado.png b/docs/evidencia/gnome-shell-qemu-2026-08-03-pid1-sellado.png new file mode 100644 index 0000000000000000000000000000000000000000..71b03f21752aefe9556c1b72aed25aef622b0420 GIT binary patch literal 25163 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 Uf|Cz!20@/dev/null \ + | grep -q "boolean true"; then + say "bus: $n OK" + return 0 + fi + i=$((i+1)); sleep 0.5 + done + say "!! bus: $n NO apareció en $((lim/2))s" + [ -n "$log" ] && [ -s "$log" ] && dump "$log" + say "nombres en el bus de sistema:" + dbus-send --system --dest=org.freedesktop.DBus --print-reply \ + /org/freedesktop/DBus org.freedesktop.DBus.ListNames 2>/dev/null \ + | tr -d '" ' | grep -v '^\s*$' > /tmp/busnames.log + dump /tmp/busnames.log + return 1 +} + # arje-polkit-compat: el PolicyKit1 del fractal. **VA ANTES que accounts-daemon y upowerd**, y el # orden no es estético: los dos se bloquean en `polkit_authority_get_sync()` al arrancar, así que si # `org.freedesktop.PolicyKit1` no está en el bus se quedan conectados pero SIN adquirir su nombre —y # gnome-shell después espera 25 s por cada uno—. Nuestra receta `polkit` es libs-only a propósito # (el demonio lo pone arje). Ojo: el shim autoriza TODO; ver recipes/arje-polkit-compat.toml. +# +# ⚠ Y «antes» tiene que ser POR EL NOMBRE, no por el orden de las líneas. Lanzarlo primero no alcanza: +# se lanza en background y tarda ~2 s en adquirir `org.freedesktop.PolicyKit1`, mientras accounts-daemon +# y upowerd arrancan de inmediato y llaman a `polkit_authority_get_sync()` en ese hueco. Entonces D-Bus +# intenta ACTIVAR el servicio (nadie tiene el nombre todavía) y falla: +# Error calling StartServiceByName for org.freedesktop.PolicyKit1: +# Failed to execute program org.freedesktop.PolicyKit1: Permission denied +# y los dos daemons se MUEREN («Failed to initialize daemon»). Después el shim adquiere el nombre +# tranquilo y el chequeo del final dice `PolicyKit1 OK` — o sea que el resumen final da verde y los +# clientes ya están muertos. La carrera es real y la ganaba cualquiera: es la misma lección de «un pid +# no es un servicio», aplicada al productor en vez de al consumidor. if [ -x /usr/bin/arje-polkit-compat ]; then /usr/bin/arje-polkit-compat >/tmp/polkit-compat.log 2>&1 & say "arje-polkit-compat lanzado (pid $!)" + esperar_nombre org.freedesktop.PolicyKit1 /tmp/polkit-compat.log \ + || say "!! sigo igual: accounts-daemon y upowerd van a fallar al pedir la autoridad" else say "!! sin arje-polkit-compat — accounts-daemon y upowerd se van a colgar pidiendo autorización" fi @@ -266,34 +311,6 @@ else say "!! sin upowerd — el shell va a esperar 25s a su activación D-Bus y seguir sin batería" fi -# ── ESPERAR EL NOMBRE, NO EL PROCESO ──────────────────────────────────────────────────────────── -# El paso que faltaba, y es la otra mitad de «un pid no es un servicio»: comprobar que el daemon -# ADQUIRIÓ su nombre en el bus. Se le da tiempo y, si no aparece, se vuelca su log y la lista de -# nombres del bus — que es el dato que dice si el problema es «no arrancó», «arrancó y no pidió el -# nombre» o «lo pidió y se lo negaron». -# $3 = décimas de segundo a esperar (default 20 = 10 s). colord necesita más: en el PRIMER arranque -# crea sus tres bases de datos en /var/lib/colord y escanea los directorios de perfiles ICC antes de -# pedir el nombre, y con 10 s daba «NO apareció» sin estar colgado — o sea un falso negativo. -esperar_nombre() { - n="$1"; log="$2"; lim="${3:-20}"; i=0 - while [ $i -lt "$lim" ]; do - if dbus-send --system --dest=org.freedesktop.DBus --print-reply \ - /org/freedesktop/DBus org.freedesktop.DBus.NameHasOwner "string:$n" 2>/dev/null \ - | grep -q "boolean true"; then - say "bus: $n OK" - return 0 - fi - i=$((i+1)); sleep 0.5 - done - say "!! bus: $n NO apareció en $((lim/2))s" - [ -n "$log" ] && [ -s "$log" ] && dump "$log" - say "nombres en el bus de sistema:" - dbus-send --system --dest=org.freedesktop.DBus --print-reply \ - /org/freedesktop/DBus org.freedesktop.DBus.ListNames 2>/dev/null \ - | tr -d '" ' | grep -v '^\s*$' > /tmp/busnames.log - dump /tmp/busnames.log - return 1 -} # ── AUDIO: PipeWire (decisión del usuario, 2026-07-29) ────────────────────────────────────────── # Van TRES procesos y el orden importa, porque cada uno es cliente del anterior: # 1. `pipewire` — el servidor. Crea $XDG_RUNTIME_DIR/pipewire-0. @@ -394,7 +411,8 @@ else fi esperar_nombre org.freedesktop.login1 /tmp/logind-compat.log -esperar_nombre org.freedesktop.PolicyKit1 /tmp/polkit-compat.log +# PolicyKit1 NO se chequea acá: ya se esperó arriba, antes de lanzar a sus clientes. Chequearlo sólo +# al final era precisamente lo que dejaba pasar la carrera con verde. esperar_nombre org.freedesktop.Accounts /tmp/accounts-daemon.log esperar_nombre org.freedesktop.UPower /tmp/upowerd.log esperar_nombre org.freedesktop.ColorManager /tmp/colord.log 80 # 40 s: ver el comentario