diff --git a/spike/01-s1-plasma-mobile.sh b/spike/01-s1-plasma-mobile.sh index 9e0f92e..2b3e3e8 100755 --- a/spike/01-s1-plasma-mobile.sh +++ b/spike/01-s1-plasma-mobile.sh @@ -47,17 +47,21 @@ if ! have termux-x11; then fi # Das Termux-Paket und die Termux:X11-APP sind zwei verschiedene Dinge. Fehlt die -# App, startet der X-Server anstandslos — nur sieht man nichts. Das sähe aus wie -# ein Fehlschlag von Plasma und wäre keiner. -if pm list packages 2>/dev/null | grep -q '^package:com\.termux\.x11$'; then - ok "Termux:X11-App ist installiert" +# App, startet der X-Server anstandslos — nur sieht man nichts. +# +# Zuverlässig prüfen lässt sich das aber nicht: seit Android 11 sieht eine App +# nur noch die Pakete, die sie in ihrem Manifest anmeldet oder die ihre UID teilen. +# 'pm list packages' liefert aus Termux heraus also eine gefilterte Liste, und ein +# Nichtfinden beweist gar nichts. Deshalb nur ein Hinweis, kein Abbruch — ein +# falscher Abbruch wäre schlimmer als ein überflüssiger Hinweis. +if pm list packages 2>/dev/null | tr -d '\r' | grep -q '^package:com\.termux\.x11$'; then + ok "Termux:X11-App gefunden" else - fail "Die Termux:X11-APP fehlt (nur das Paket ist da)." - hint "Ohne sie startet der X-Server, aber es gibt nichts zu sehen." - hint "Vom Rechner: ./provision/install-termux.sh" - hint "Oder von Hand: https://github.com/termux/termux-x11/releases" - hint "Bei Termux aus GitHub die Variante 'universal-sharedUid-debug.apk'." - exit 1 + warn "Termux:X11-App nicht in der Paketliste — sagt wenig aus." + hint "Android filtert diese Liste seit Version 11; die App kann trotzdem da sein." + hint "Bleibt der Bildschirm später leer, hier ansetzen:" + hint " Vom Rechner: ./provision/install-termux.sh" + hint " Von Hand: https://github.com/termux/termux-x11/releases" fi termux-x11 :0 >>"$LOG" 2>&1 & X11_PID=$! @@ -70,9 +74,21 @@ else fi # Die App muss im Vordergrund sein, sonst sieht man nichts und Android drosselt. +# Hier zeigt sich auch, ob sie überhaupt existiert: 'am start' meldet einen +# Fehler, wenn es die Aktivität nicht gibt — das ist die verlässliche Prüfung, +# anders als die gefilterte Paketliste weiter oben. log " Hole die Termux:X11-App in den Vordergrund …" -try am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity +if am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity >>"$LOG" 2>&1; then + ok "Termux:X11-App gestartet" +else + fail "Termux:X11-App ließ sich nicht starten — sie fehlt vermutlich." + tail -n 5 "$LOG" | sed 's/^/ /' + hint "Installieren: ./provision/install-termux.sh (vom Rechner)" + exit 1 +fi sleep 2 +log " In der App sollte jetzt nicht mehr 'not connected' stehen." +hint "Steht es weiterhin dort, hat der X-Server keine Verbindung bekommen." # ── GPU-Server ─────────────────────────────────────────────────────────────── section "GPU-Pfad vorbereiten ($GPU_PROFIL)"