cosmic: los componentes que MATAN la sesión son TRES, no uno — corrección medida

El arranque en modo session murió con 'failed to start notifications daemon'
(main.rs:306). Grepeando '\.expect(' aparecen los tres:

  main.rs:255  cosmic-settings-daemon
  main.rs:306  cosmic-notifications
  main.rs:325  cosmic-panel

O sea que el mínimo viable de una sesión COSMIC son CUATRO binarios: compositor
más esos tres.

Cómo me equivoqué, que es la parte reusable: leí start_component(), vi que sólo
logueaba, y generalicé a 'todos menos el settings-daemon'. Pero notifications y
panel NO PASAN por esa función — tienen su propio .expect() unas líneas antes.
Buscar la función que lanza no es lo mismo que buscar los .expect del fichero, y
grepear la construcción que mata cuesta lo mismo y no generaliza de más.

De paso, el bloque que configura el fondo de color sale del branch de modo bare:
estaba adentro, así que en modo session cosmic-bg se quedaba con el wallpaper por
defecto (que vive en git-lfs y no existe) y la pantalla salía negra por una razón
distinta de la que se estaba investigando.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-03 14:25:12 -04:00
co-authored by Claude Opus 5
parent 0f2f9ec2ee
commit 999e9bdcb5
2 changed files with 41 additions and 28 deletions
+23 -23
View File
@@ -128,6 +128,29 @@ export XDG_DATA_DIRS=/usr/share XDG_CONFIG_DIRS=/etc/xdg
mkdir -p "$XDG_RUNTIME_DIR" && chmod 700 "$XDG_RUNTIME_DIR"
[ -w "$XDG_RUNTIME_DIR" ] || say "!! XDG_RUNTIME_DIR se perdió entre el arranque y ahora"
# ── FONDO: color liso, porque la imagen por defecto NO SE PUEDE EMPAQUETAR ────────────────────
# El default de cosmic-bg apunta a `/usr/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg`,
# que vive en el repo `cosmic-wallpapers`… en **git-lfs**: el tarball de GitHub pesa 20 KB y trae
# punteros, no imágenes. O sea que la receta obvia produciría un paquete de ficheros de texto.
# Mientras eso no se resuelva, se escribe la config de USUARIO con una fuente `Color`, que
# cosmic-bg soporta de fábrica. Va acá y no en el artefacto a propósito: es política de esta
# imagen de prueba, no algo que el paquete prometa.
if [ ! -f /usr/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg ]; then
mkdir -p "$HOME/.config/cosmic/com.system76.CosmicBackground/v1"
cat > "$HOME/.config/cosmic/com.system76.CosmicBackground/v1/all" <<'RON'
(
output: "all",
source: Color(Single((0.13, 0.29, 0.53))),
filter_by_theme: true,
rotation_frequency: 3600,
filter_method: Lanczos,
scaling_mode: Zoom,
sampling_method: Alphanumeric,
)
RON
say "fondo: color liso (el wallpaper por defecto vive en git-lfs y no se empaqueta)"
fi
# ── MODO: bare (default) o session ──────────────────────────────────────────────────────────────
# `cosmic-session` es el camino de producción, pero HOY no se puede usar: llama a
# `cosmic-settings-daemon` con `.expect("failed to start settings daemon")` (src/main.rs:255) y
@@ -177,29 +200,6 @@ done
if [ -n "$WD" ] && [ "${COSMIC_MODE:-bare}" != session ]; then
export WAYLAND_DISPLAY="$WD"
# ── FONDO: color liso, porque la imagen por defecto NO SE PUEDE EMPAQUETAR ────────────────────
# El default de cosmic-bg apunta a `/usr/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg`,
# que vive en el repo `cosmic-wallpapers`… en **git-lfs**: el tarball de GitHub pesa 20 KB y trae
# punteros, no imágenes. O sea que la receta obvia produciría un paquete de ficheros de texto.
# Mientras eso no se resuelva, se escribe la config de USUARIO con una fuente `Color`, que
# cosmic-bg soporta de fábrica. Va acá y no en el artefacto a propósito: es política de esta
# imagen de prueba, no algo que el paquete prometa.
if [ ! -f /usr/share/backgrounds/cosmic/orion_nebula_nasa_heic0601a.jpg ]; then
mkdir -p "$HOME/.config/cosmic/com.system76.CosmicBackground/v1"
cat > "$HOME/.config/cosmic/com.system76.CosmicBackground/v1/all" <<'RON'
(
output: "all",
source: Color(Single((0.13, 0.29, 0.53))),
filter_by_theme: true,
rotation_frequency: 3600,
filter_method: Lanczos,
scaling_mode: Zoom,
sampling_method: Alphanumeric,
)
RON
say "fondo: color liso (el wallpaper por defecto vive en git-lfs y no se empaqueta)"
fi
for c in cosmic-bg cosmic-panel cosmic-osd cosmic-notifications cosmic-app-library cosmic-launcher cosmic-idle; do
if [ -x "/usr/bin/$c" ]; then
"/usr/bin/$c" >"/tmp/$c.log" 2>&1 &