Compare commits
2
Commits
ec76b785b3
...
d4a6b59f81
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4a6b59f81 | ||
|
|
3643cbd5cb |
+76
-19
@@ -48,8 +48,14 @@ echo " GPU-Profil: $GPU_PROFIL"
|
||||
if ! command -v kwin_wayland >/dev/null 2>&1; then
|
||||
echo "── Installiere Plasma Mobile (einmalig, gut 1 GB) ──"
|
||||
apt-get update -qq
|
||||
apt-get install -y --no-install-recommends \
|
||||
plasma-mobile kwin-wayland plasma-workspace maliit-keyboard \
|
||||
# Bewusst OHNE --no-install-recommends: bei KDE stecken die QML-Module
|
||||
# traditionell in den Empfehlungen, nicht in den harten Abhängigkeiten.
|
||||
# Ohne sie ist die Shell formal installiert, aber innen hohl — plasmashell
|
||||
# lädt sie dann nicht und fällt wortlos auf die Voreinstellung zurück.
|
||||
# Für einen Machbarkeitsbeweis ist ein paar hundert MB zu viel das kleinere
|
||||
# Übel gegenüber einem Fehlschlag aus dem falschen Grund.
|
||||
apt-get install -y \
|
||||
plasma-mobile plasma-nano kwin-wayland plasma-workspace maliit-keyboard \
|
||||
xdg-desktop-portal-kde qtwayland5 libqt5waylandclient5 \
|
||||
|| echo " ! Paketinstallation unvollständig — Details oben"
|
||||
fi
|
||||
@@ -60,28 +66,50 @@ for b in kwin_wayland plasmashell; do
|
||||
done
|
||||
|
||||
# ── Welche Shell? ────────────────────────────────────────────────────────────
|
||||
# Der Paketname der Mobile-Shell hat sich mit Plasma 6 geändert: aus
|
||||
# org.kde.plasma.phoneshell wurde org.kde.plasma.mobileshell. Ein falscher Name
|
||||
# fällt nicht auf — plasmashell startet klaglos, meldet nur beiläufig
|
||||
# "starting invalid corona" und zeichnet dann nichts. Deshalb wird nicht geraten,
|
||||
# sondern nachgesehen, was tatsächlich installiert ist.
|
||||
echo "── Verfügbare Plasma-Shells ──"
|
||||
ls -1 /usr/share/plasma/shells/ 2>/dev/null | sed 's/^/ /' || echo " (Verzeichnis fehlt)"
|
||||
# Ohne gültiges Shell-Paket startet plasmashell klaglos, meldet nur beiläufig
|
||||
# "starting invalid corona" und zeichnet dann nichts. Von außen sieht das aus wie
|
||||
# ein Fehlschlag des Compositors und ist keiner.
|
||||
#
|
||||
# In Debian liefert ausgerechnet 'plasma-mobile' KEINE Shell mit, sondern nur
|
||||
# QML-Module und KWin-Skripte. Die Shell steckt in 'plasma-nano' und heißt
|
||||
# org.kde.plasma.nano. Der Name org.kde.plasma.mobileshell aus den KDE-Quellen
|
||||
# existiert in Debian nicht. Deshalb wird nachgesehen statt geraten.
|
||||
shell_suchen() {
|
||||
local kandidat
|
||||
for kandidat in org.kde.plasma.mobileshell org.kde.plasma.phoneshell \
|
||||
org.kde.plasma.nano org.kde.plasma.desktop; do
|
||||
if [ -d "/usr/share/plasma/shells/$kandidat" ]; then
|
||||
printf '%s' "$kandidat"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
SHELL_PAKET=""
|
||||
for kandidat in org.kde.plasma.mobileshell org.kde.plasma.phoneshell \
|
||||
org.kde.plasma.nano org.kde.plasma.desktop; do
|
||||
if [ -d "/usr/share/plasma/shells/$kandidat" ]; then
|
||||
SHELL_PAKET="$kandidat"
|
||||
break
|
||||
fi
|
||||
done
|
||||
echo "── Verfügbare Plasma-Shells ──"
|
||||
if [ -d /usr/share/plasma/shells ]; then
|
||||
ls -1 /usr/share/plasma/shells/ 2>/dev/null | sed 's/^/ /'
|
||||
[ -z "$(ls -A /usr/share/plasma/shells/ 2>/dev/null)" ] && echo " (leer)"
|
||||
else
|
||||
echo " (Verzeichnis /usr/share/plasma/shells fehlt)"
|
||||
fi
|
||||
|
||||
SHELL_PAKET="$(shell_suchen || true)"
|
||||
|
||||
if [ -z "$SHELL_PAKET" ]; then
|
||||
echo " ! Keine Shell gefunden — versuche plasma-nano nachzuinstallieren."
|
||||
apt-get install -y --no-install-recommends plasma-nano plasma-mobile 2>&1 \
|
||||
| tail -5 | sed 's/^/ /'
|
||||
SHELL_PAKET="$(shell_suchen || true)"
|
||||
fi
|
||||
|
||||
if [ -n "$SHELL_PAKET" ]; then
|
||||
echo " ✓ Shell: $SHELL_PAKET"
|
||||
else
|
||||
echo " ✗ Keine Plasma-Shell gefunden — plasmashell hätte nichts zu zeichnen."
|
||||
echo " Fehlt plasma-mobile oder plasma-nano?"
|
||||
echo " ✗ Weiterhin keine Plasma-Shell — plasmashell hat nichts zu zeichnen."
|
||||
echo " Prüfen: dpkg -L plasma-nano | grep shells"
|
||||
echo " Ohne Shell ist Versuch A zum Scheitern verurteilt; XFCE zeigt dann,"
|
||||
echo " ob wenigstens X-Server und GPU tragen."
|
||||
fi
|
||||
|
||||
# ── GPU-Nachweis, bevor der Desktop startet ──────────────────────────────────
|
||||
@@ -115,6 +143,35 @@ sleep 25
|
||||
|
||||
if kill -0 "$PID_A" 2>/dev/null; then
|
||||
echo " ✓ Versuch A läuft noch — jetzt in die Termux:X11-App wechseln und schauen."
|
||||
|
||||
# 'invalid corona' heißt: plasmashell hat kein brauchbares Shell-Paket geladen
|
||||
# und zeichnet folglich nichts. Steht dort die Voreinstellung
|
||||
# org.kde.plasma.desktop, obwohl wir etwas anderes übergeben haben, ist das
|
||||
# kein Tippfehler, sondern ein Rückfall — die gewünschte Shell ließ sich nicht
|
||||
# laden. Der Unterschied entscheidet, wo man weitersucht.
|
||||
if grep -q 'invalid corona' "$LOGA" 2>/dev/null; then
|
||||
echo ""
|
||||
echo " ✗ ACHTUNG: plasmashell meldet 'invalid corona' — es zeichnet nichts."
|
||||
grep 'invalid corona' "$LOGA" | tail -2 | sed 's/^/ /'
|
||||
if [ -n "$SHELL_PAKET" ]; then
|
||||
echo " Übergeben wurde: -p $SHELL_PAKET"
|
||||
case "$(grep -o 'invalid corona \"[^\"]*\"' "$LOGA" | tail -1)" in
|
||||
*"$SHELL_PAKET"*)
|
||||
echo " → Diese Shell selbst lässt sich nicht laden."
|
||||
echo " Meist fehlen QML-Module. Nachsehen mit:"
|
||||
echo " plasmashell -p $SHELL_PAKET (Fehler stehen auf stderr)"
|
||||
;;
|
||||
*)
|
||||
echo " → plasmashell ist auf die Voreinstellung zurückgefallen,"
|
||||
echo " die übergebene Shell kam also nicht an oder wurde verworfen."
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo " Es wurde gar keine Shell übergeben (keine gefunden)."
|
||||
fi
|
||||
echo " Ein schwarzes Bild ist damit erklärt — KWin läuft trotzdem."
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo " Beenden mit: pkill -f kwin_wayland"
|
||||
echo " Protokoll: $LOGA"
|
||||
|
||||
Reference in New Issue
Block a user