#!/bin/sh # Lancé par startx (cf. /root/.zprofile), uniquement dans le live FWS. if [ ! -d /run/archiso ]; then exit 0 fi xsetroot -solid "#1a1a2e" # Openbox en arrière-plan : gestionnaire de fenêtres pour l'installateur. openbox & _OB_PID=$! # Chantier C : lance l'installateur Anaconda en mode live s'il est présent. # « liveinst » re-exécute anaconda (ici on est déjà root → pas de pkexec/polkit). # # DEBUG (premier run réel) : on CAPTURE stdout+stderr — un plantage d'import # précoce de Python n'apparaît QUE là, pas dans /tmp/anaconda.log — et, si # liveinst quitte en erreur, on regroupe tous les logs Anaconda et on les AFFICHE # (zenity) au lieu de laisser startx rendre la main → .zprofile relancerait X en # boucle (symptôme « fond bleu qui clignote/reboote »). On NE rend jamais la main # à startx : on reste sur Openbox pour lire les logs / rebooter proprement. if command -v liveinst >/dev/null 2>&1; then LIVEINST_LOG=/tmp/fws-liveinst.log liveinst >"$LIVEINST_LOG" 2>&1 rc=$? # ATTENTION : liveinst NE propage PAS le code de sortie d'anaconda — il # enchaîne son propre nettoyage et sort souvent 0 même quand anaconda a # planté. On ne se fie donc PAS à $rc : en phase debug on regroupe TOUS les # logs et on les affiche systématiquement (zenity). Le traceback Python d'un # crash d'import précoce n'est QUE dans $LIVEINST_LOG (stderr capturé). DBG=/tmp/fws-debug.txt { echo "===== liveinst sorti (code $rc) — logs Anaconda =====" echo echo "########## sortie liveinst (stdout+stderr) ##########" cat "$LIVEINST_LOG" 2>/dev/null for f in /tmp/anaconda.log /tmp/syslog /tmp/program.log \ /tmp/storage.log /tmp/dbus.log /tmp/packaging.log /tmp/X.log; do echo echo "########## $f ##########" tail -n 200 "$f" 2>/dev/null || echo "(absent)" done } >"$DBG" 2>&1 if command -v zenity >/dev/null 2>&1; then zenity --text-info --title="FWS — logs Anaconda (sortie $rc)" \ --filename="$DBG" --width=1100 --height=720 2>/dev/null & fi wait "$_OB_PID" else echo "[FWS] Anaconda absent de l'ISO — à builder (setup-aur.sh) + ajouter à packages.x86_64." >&2 exec openbox fi