S1: fehlende Plasma-Shell nachinstallieren statt nur melden
In Debian liefert ausgerechnet 'plasma-mobile' keine Shell mit — nur QML-Module und KWin-Skripte. Die Shell steckt in 'plasma-nano' und heißt org.kde.plasma.nano. Der aus den KDE-Quellen bekannte Name org.kde.plasma.mobileshell existiert in Debian nicht. Auf dem Gerät kam weiterhin 'starting invalid corona org.kde.plasma.desktop' — das ist plasmashells Standardwert, wenn kein -p übergeben wird. Die Suche fand also nichts: das Verzeichnis /usr/share/plasma/shells ist leer oder fehlt. Das Skript gibt sich damit nicht mehr zufrieden, sondern installiert plasma-nano nach und sucht erneut. Bleibt es dabei, wird der Prüfbefehl genannt und klar gesagt, dass Versuch A ohne Shell zum Scheitern verurteilt ist — dann zeigt erst die XFCE-Gegenprobe, ob X-Server und GPU tragen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+39
-17
@@ -60,28 +60,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 ──────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user