ubuntuusers.de

Desktop-Umgebung wechseln ohne Neuinstallation

Achtung!

Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Hinweis:

Diese Howto-Anleitung wurde zuletzt von fleet_street am 04.08.2018 mit Ubuntu 18.04, sowie am 10.11.2019 mit Ubuntu 19.10 erfolgreich getestet.

Problembeschreibung

Die neue Desktop-Umgebung ist über ein Meta-Paket schnell installiert. Leider ergeben sich manchmal unerwünschte Nebeneffekte, wenn zwei Desktop-Umgebungen gleichzeitig installiert sind. Oder man möchte einfach so die alte loswerden.

Über apt remove --autoremove <ALTER_DESKTOP>, wie unter Desktopumgebung deinstallieren beschrieben, erwischt man leider nur eine komplette Desktop-Umgebung, wenn man diese auch selbst nachträglich über ein Meta-Paket installiert hat. Das wirkt nicht, wenn man seine Ubuntu-Version von DVD/Stick installiert hat, weil alle Pakete, die mit diese Methode auf dem Datenträger landen, als "manuell installiert" (manual) markiert sind. Mit --autoremove würde man aber nur Pakete entfernen können, die die Markierung "auto" haben.

Anleitung

Im Beispiel wird von ubuntu 17.10.1 (mit Gnome) gewechselt auf Ubuntu Mate. Es werden zunächst die Dateien mit der Endung .manifest zu der verwendeten ubuntu-Version heruntergeladen. Diese liegen unter releases.ubuntu.com für die Hauptversion oder unter cdimage.ubuntu.com für die offiziellen Derivate.

http://releases.ubuntu.com/17.10/ubuntu-17.10.1-desktop-amd64.manifest

http://cdimage.ubuntu.com/ubuntu-mate/releases/artful/release/ubuntu-mate-17.10.1-desktop-amd64.manifest

Die Dateien enthalten auch die Versionsnummern, die hier nicht benötigt werden. In das Download-Verzeichnis wechseln und mit cut abtrennen, noch mal sortieren und Ausgabe in eine Datei umleiten. Sicherheitshalber ist in das Kommando noch ein Filter eingebaut, damit keine Pakete des Linux-Kernel in die Listen gelangen. Der sollte nicht entfernt werden (Das könnte zum Tragen kommen, wenn man zu einer Version mit Langzeitunterstützung (LTS) versehentlich die .manifest Dateien verschiedener Punkt-Releases erwischt (bspw. 16.04.1 und 16.04.4)).

Hinweis:

dpkg sortiert die Liste zwar, aber anders als es comm erwartet; bspw. python3… hinter python-…. Deshalb ist das im ersten Augenblick überflüssig erscheinende sort dennoch richtig und wichtig.

Hinweis:

Bei 19.10 tauchen erstmals auch mittels snap installierte Software in den manifest-Dateien auf (Ubuntu, Ubuntu-Budgie, Ubuntu-Mate). Da diese nicht mit der normalen Paketverwaltung (hier: apt/apt-get) de- und installiert werden, werden die nun auch herausgefiltert (soweit vorhanden; Benutzer anderer Desktopumgebungen müssen nichts weiter beachten).

cd ~/Downloads
cut -f1 ubuntu-17.10.1-desktop-amd64.manifest | grep -v '^linux-[hims]' | grep -v "snap:" | sort > /tmp/alte_Desktop_Umgebung 

Der Name der Datei, die eben heruntergeladen wurde, muss natürlich angepasst werden, ebenso wie der Name der Datei, in die man umleitet, auch angepasst werden kann. Wichtig ist nur, dass man alte und neue auseinander hält.

cut -f1 ubuntu-mate-17.10.1-desktop-amd64.manifest | grep -v '^linux-[hims]' | grep -v "snap:" | sort > /tmp/neue_Desktop_Umgebung 

Jetzt kommt das entscheidende. Die beiden Paketlisten werden mit comm verglichen. Dabei werden alle gemeinsamen Einträge ausgeblendet, sowie die mit der neuen Desktop-Umgebung hinzugekommenen Pakete.

comm -23 /tmp/alte_Desktop_Umgebung /tmp/neue_Desktop_Umgebung > /tmp/Liste_der_zu_entfernenden_Pakete 

Diese Liste kann noch Anwendungen enthalten, die zwar in der neuen DE normalerweise nicht enthalten sind, aber an die man sich gewöhnt hat (sei es nur ein Spiel oder das email-Programm). Deshalb die Liste mit dem Texteditor öffnen und unbedingt anschauen, was entfernt würde.

xdg-open /tmp/Liste_der_zu_entfernenden_Pakete & 

Bei kleineren Programmen mit wenig Abhängigkeiten könnte man sie aus der Liste entfernen. Aber einfacher ist vermutlich sich eine separate Liste der Programme zu erstellen, die man hinterher noch mal von Hand installieren möchte.

Zur Vorsicht lieber noch eine Simulation laufen lassen, damit man noch die Chance hat ein zu greifen.

xargs -a /tmp/Liste_der_zu_entfernenden_Pakete apt-get purge -s 

Vorsicht, jetzt geht's zur Sache.

xargs -a /tmp/Liste_der_zu_entfernenden_Pakete sudo apt-get purge 

Bricht das Kommando an der Stelle ab, an der die Zustimmung zu der geplanten Aktion erfragt wird, dann kann man mit der Pfeiltaste nach oben es noch mal anzeigen lassen und ergänzt es mit -y oder --yes.

Exkurs

Hat man sich eine Liste der erneut zu installierenden Pakete erstellt, dann kann man es analog erledigen.

xargs -a /tmp/Liste_der_wieder_zu_installierenden_Pakete sudo apt-get install 

Ab 19.10

Wie oben schon darauf hingewiesen, enthalten Ubuntu (Gnome), Ubuntu-Budgie, Ubuntu-Mate auch per snap installierte Software. Wer es gerne komplett mag, de- bzw. installiert diese snaps dann extra. Natürlich kann auch diese Liste schnell gefiltert werden, bspw.

grep "snap:" ubuntu-budgie-19.10-desktop-amd64.manifest 

Problembehebung

Hat man erst nach dem Neustart bemerkt, dass etwas fehlt, sind unter /tmp die flüchtigen Dateien nicht mehr vorhanden. Dann kann man auch unter /var/log/apt/history.log nachschauen, was man zuletzt in der Paketverwaltung gemacht hat.

Bei Probleme egal welcher Art mit dem quasi selbst gebauten ubuntu-Derivat, sollte man im Forum darauf hinweisen. Helfer reagieren nicht immer freundlich, wenn sie es erst auf Nachfragen herausbekommen.

Diese Revision wurde am 11. November 2019 09:04 von fleet_street erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Howto