Linux Mint KDE 18.3 (Sylvia) auf 19 updaten – und es geht DOCH mit KDE!

Linux Mint 18.3 war bekanntlich die Version, mit der letztmalig auch eine KDE-Desktopumgebung ausgeliefert wurde. Deren Support läuft im April 2021 aus; seit Linux Mint 19, die bereits im Juni 2018 veröffentlicht wurde, gibt es für die KDE-Editionen früherer Linux-Mint-Versionen keine Upgrade-Möglichkeiten mehr. Mit ein bisschen Know-how kann man jedoch Mint-19.x-Neuinstallationen mit KDE-Plasma 5 manuell ausstatten; Anleitungen dazu gibt es genug im Netz. In meinem Fall stand ich jedoch vor der Situation, dass ich auf einem Notebook, das ich in produktivem Einsatz habe, eine langjährige, sehr speziell eingerichtete und konfigurierte Linux-Mint-18.3-KDE-Installation betreibe (mit Eigenentwicklungen, speziellen Compiler-Umgebungen, Autoren-System und Peripherie-Schnittstellen), die ich nur sehr ungern plattmachen und mit der 19er-Version neu bespielen wollte. Was also tun?

Nach eingehenden Recherchen bin ich zunächst zu folgendem Ergebnis gekommen: Ich hätte die 18.3er KDE-Installation auf MATE oder Cinnamon umrüsten können, aber das wäre nach wie vor nicht upgradefähig gewesen, weil der „Unterbau“ weiterhin auf KDE beruht, den sich die Linux-Mint-Macher für ihre Zwecke seinerzeit „passendgemacht“ haben (diesen Aufwand will man ab Linux Mint 19 nicht mehr betreiben, deshalb gibt es kein Linux Mint mit KDE mehr). Es gibt also keinen regulären Weg des Updates (es sei denn, mit viel händischem Einsatz, der den Aufwand aber nicht rechtfertigt).

Ich arbeite seit den 90er Jahren mit KDE-Anwendungen und möchte gerne dieser Desktopumgebung treu bleiben. Irgendwann bin ich dann auf dieses Posting in einem KDE-Forum gestoßen, in dem beschrieben wird, wie man Linux Mint KDE 18.3 (Sylvia) eben doch auf Version 19 (Tara) upgraden, dabei bei KDE bleiben und die bisherige Installation beibehalten kann. Risikofreudig, wie ich nun mal bin, habe ich den Versuch gewagt, und es funktioniert – bis auf ein paar wenige kleine Maleschen, die man aber leicht beheben kann! Wie also geht man vor?

1. Man öffnet ein Terminal/eine Konsole und öffnet nacheinander die Repositories-Dateien mit dem Lieblings-Editor (nano, vi – was auch immer), als da wären:

/etc/apt/sources.list.de/official-package-repositories.list

/etc/apt/sources.list.de/ubuntu-defaults.list

In beiden Dateien ersetzt man überall dort, wo „xenial“ steht, dieses durch „bionic“. Das sorgt dafür, dass der Ubuntu-Unterbau von Linux Mint von 16.4 auf 18.4 upgedatet wird. Gleichzeitig wird mit dieser Einstellung während des Upgrades der KDE-Desktop mit Plasma 5 von den Kubuntu-Backport-Repositories nachinstalliert.

Halt, die beiden Dateien noch nicht speichern und beenden! Es fehlt noch etwas: Überall dort, wo „sylvia“ erscheint, dieses löschen und durch „tara“ (für Linux Mint 19) ersetzen. Dies sorgt für das eigentliche Upgrade von Linux Mint 18.3 auf 19. Nun speichern und den Editor schließen.

2. Nun beginnt es spannend zu werden. Mit den gespeicherten Einstellungen wird die Installation mit sudo apt-get update auf den neuesten Stand gebracht. Es müssen aber noch einige Voraussetzungen geschaffen werden, damit das Upgrade auch gestartet werden kann. Dazu müssen apt, mintupdate und die libgtk-Bibliotheken vorab auf den Stand von Ubuntu 18.4 gebracht werden:

sudo apt-get install apt

sudo apt-get install mintupdate libgtk-3-0 libgtk-3-bin

3. Jetzt wird es noch spannender. Nun muss man sich einmal aus- und wieder einloggen. Und hier könnte es ein erstes Problem geben. Bei mir war es so, dass sich die grafische Oberfläche nach dem Login nicht mehr aufbauen wollte, was durch das libgtk-Update ja auch nachvollziehbar ist. Aber das ist nicht wirklich ein Problem, denn wir brauchen nur ein textbasiertes Terminal, und das bekommt man ja z. B. mit Strg-Alt-F2. Hier kann man sich dann einloggen und stößt nun das ersehnte Upgrade an mit

sudo apt-get dist-upgrade

Je nach Geschwindigkeit der Internetverbindung und der Leistungsfähigkeit des Rechners kann man nun getrost etwa zwei Stunden Kaffee trinken oder sonstwas Unanständiges tun. In meinem Fall zog er sich etwas über 3 GB an Updates rein mit anschließenden Anpassungen, Compilierungen usw. usf. Kleiner Tipp am Rande: Bevor Sie diesen Durchgang starten, kontrollieren Sie, ob Sie möglicherweise noch alte Linux-Kernel, -Module und -Header installiert haben. Genau das hatte ich nämlich vorab nicht überprüft – mit dem Ergebnis, dass er sich äußerst zeitaufwändig so an die 30 alte Kernel, Modules und Header reingepfiffen, konfiguriert und in GRUB eingepflegt hat – völlig überflüssigerweise. Im Laufe der letzten Jahre hat er bei jedem Kernel-Update die alten Kernel ja nicht automatisch gelöscht – und ich auch nicht 😉 Ein gelegentlicher Blick aufs Display kann nicht schaden, denn gelegentlich erwartet er eine Eingabe, wenn es darum geht, eine conf-Datei zu aktualisieren. In den allermeisten Fällen sollte man die bereits bestehende Datei beibehalten (wird auch fast immer als Default vorgegeben).

Wenn nun alles gut durchgelaufen ist, kann man mit sudo reboot das Schätzchen neustarten. Nach erfolgtem Login begrüßt einen dann die neue KDE-Plasma-5-Oberfläche. Und das Schönste: Alle bisherigen Icons bleiben erhalten, alle Anwendungen sind weiterhin vorhanden. Nur der Desktop-Hintergrund ist ein neuer.

4. Wenn nun aber der dist-upgrade-Lauf mit Fehlermeldungen abbricht, dann konnte apt irgendwelche Package-Abhängigkeiten nicht auflösen. Hier kann man dann versuchen, mit sudo dpkg –configure -a diesen Mangel zu beheben. Bei mir war meine spezielle, nicht-standardgemäße Python-Installation Schuld an einigen unlösbaren Abhängigkeiten („Paket xyz setzt Paket abc voraus, dieses kann aber nicht installiert werden“ usw.). Möglicherweise löst o.g. dpkg-Befehl durch seine Reparatur einen erneuten Komplett-Download des Updates aus. Falls auch – wie bei mir – der dpkg-configure-Befehl zu weiteren Fehlern führt, behebt man diese mit sudo apt install –fix-broken (der dpkg-Befehl gibt an dieser Stelle den falschen Hinweis aus, es mit „apt –fix-broken install“ zu versuchen, was durch die falsche Options-Reihenfolge natürlich zu nichts führt).

5. Nachdem man nun sämtliche Fehler beseitigt hat, geht man nochmals den gesamten Upgrade-Lauf durch, also sudo apt-get update, sudo apt-get upgrade und sudo apt-get dist-upgrade. Abschließend sollte man vor einem Neustart mit sudo apt-get install -f noch einmal checken, ob es noch irgendwelche Probleme gibt, die es zu beheben gilt (eigentlich unnötig, wenn der dist-upgrade-Lauf komplett durchgelaufen ist, aber sicher ist sicher). So, und nun aber endlich sudo reboot und sich an der neuen Oberfläche erfreuen.

Ob man auf diese Weise von Linux Mint KDE 18.3 auch direkt auf die neueren Versionen 19.1 (Tessa), 19.2 (Tina) oder 19.3 (Tricia) upgraden kann, kann ich nicht sagen. Ich denke aber: eher nicht. Ich empfehle, erst mal auf die 19 (Tara) upzugraden, um dann später bei Bedarf auf eine aktuellere Version umzusteigen. Man weiß ja nie, ob die 19.1 oder spätere etwas von der 19 voraussetzen. Für alle drei Versionen läuft der Support bis April 2023.

Update 12.07.: Wie ich soeben erfahre, ist vor einigen Tagen die Linux-Mint-Version 20 erschienen. Diese setzt als Upgrade eine Version 19.3 voraus. Aber ich freue mich, dass wir erst einmal erfolgreich in der Linux-Mint-19er-Welt angekommen sind!

Windows10-Upgrade zerstört Grub-Konfiguration

Auf meinem Arbeitsnotebook mit LinuxMint 17.1 habe ich nebenher noch ein Windows 8.1 mit Grub und entsprechend mühsam eingerichteter UEFI-Konfiguration am Laufen. Nun kam der Tag des (automatisierten) Windows-10-Upgrades. Mutig, wie ich ja bin, habe ich das einfach mal laufen lassen. Hat auch alles auf den ersten Blick geklappt, aber dann kam der große Schreck: Beim Versuch, das Grub-Bootmenü von Linux zu starten, rannte der Rechner prompt in den – genau – Grub-Rescue-Prompt. Somit war LinuxMint erst mal nicht mehr erreichbar.

Wie ich später herausfand, hat das Windows-10-Upgrade die Reihenfolge und Attribute der Partitionen verändert (getreu dem Gebot „Du sollst keine anderen OS neben Windows 10 haben“) – die Linux-Bootpartition war nicht mehr dort, wo Grub sie vermutete. Ich hätte jetzt versuchen können, ein Linux von einer Boot-CD-ROM oder einem USB-Stick zu starten, um dann Reparaturversuche durchzuführen. Ich habe es dann aber doch mit Bordmitteln auf dem Grub-Rescue-Prompt hinbekommen.

Zunächst habe ich mit „ls“ nachgesehen, welche Partitionen überhaupt vorhanden sind. Ergebnis bei mir war (hd0,gpt10), (hd0,gpt9), (hd0,gpt8) … (hd0). Welche davon ist jetzt die Linux-Partition, die ich starten möchte? Das findet man heraus, indem man nacheinander „ls (hd0,gpt1)/“, „ls (hd0,gpt1)/boot“, „ls (hd0,gpt2)/“, „ls (hd0,gpt2)/boot“ usw. eingibt. Meist wird man eine Fehlermeldung erhalten, dass das Filesystem nicht erkannt werden konnte. Irgendwann wird man aber das Laufwerk entdecken, welches das Linux-Hauptverzeichnis enthält – das war in meinem Fall (hd0,gpt9). Viel Spaß übrigens mit der deutschen Tastatur und den Zeichen „()/=“ 🙂

Als nächstes habe ich mit „set“ kontrolliert, wo Grub seine Konfigurationsdateien sucht. Das Ergebnis war in meinem Fall:

prefix=(hd0,gpt8)/boot/grub
root=(hd0,gpt8)

Aha! Ich habe doch zuvor festgestellt, dass mein Linux-Laufwerk (hd0,gpt9) ist. An der Stelle hat Windows 10 also herumfuhrwerkt! Ehemals Partition gpt8 ist jetzt gpt9. Jetzt gilt es also, die Einstellungen für prefix und root so einzustellen, dass Grub seinen Kram wieder findet. Und das geht so:

set prefix=(hd0,gpt9)/boot/grub
set root=(hd0,gpt9)

Wenn man jetzt in die normale Menüansicht von Grub möchte, gibt man Folgendes ein:

insmod normal
normal

Wenn Sie alles richtig gemacht haben, sehen Sie jetzt wieder Ihr altbekanntes Grub-Bootmenü. Juhuuuuu! Aber nicht zu früh freuen! Beim nächsten Booten rennen Sie garantiert wieder in den Grub-Rescue-Prompt. Wenn Sie jetzt auf dem Grub-Bootmenü stehen, stellen Sie den Leuchtbalken auf den Eintrag, der Ihr Linux starten soll, und drücken ‚e‘ (wie „edit“). Hier ändern Sie jetzt überall, wo noch der falsche gpt-x-Wert steht, auf den neuen – bei mir also überall, wo noch ein gpt8 steht, ein gpt9 setzen. Nun F10 drücken – und Linux startet!

Nun sind wir auch schon fast am Ziel. In einer Konsole geben wir nun noch ein „sudo grub-install“ ein, und Grub wird aktualisiert – auch das neue Windows wird erkannt. Jetzt kontrollieren wir nochmal zur Sicherheit die /etc/fstab mit einem Editor (nano, vim, was Sie mögen). Die gemounteten Partitionen mit einem UUID-Identifier stellen natürlich kein Problem dar, sollten Sie dort aber Laufwerke mit einem /dev/…-Eintrag finden, sollten Sie die entsprechende Zeile auf die neuen Gegebenheiten anpassen.

 

Grub2 passend machen (oder reparieren)

Mir passiert es immer wieder, dass bei Testinstallationen und LiveCDs verschiedener Linux-Distributionen (LinuxMint 15 und 16, ubuntu 13.04 und 13.10) insbesondere bei Notebooks nach dem Start aus dem Grub2-Menü der Bildschirm schwarz (also richtig dunkel) wird und das ganze System festhängt – es bleibt nur noch langes Drücken auf den PowerOff-Knopf. Grund ist, dass der Kernel beim Initialisieren der Grafik verschiedene Auflösungen „ausprobiert“, was bei manchen Grafikchips dann eben schief geht. Über den Recovery-Modus kann man das System in der Regel aber immer noch irgendwie starten, was ja aber keine Dauerlösung sein kann.

Hier gibt es zwei Lösungsschritte. Man kann versuchen, mittels Grub dem Linux-Kernel den Startparameter „nomodeset“ auf den Weg zu geben. Wenn man also das Grub-Startmenü vor sich sieht und auf dem ersten Listeneintrag steht, drückt man ‚e‘, um den Menüeintrag zu editieren. Nun fügt man in der Zeile mit „splash quiet“ das besagte „nomodeset“ hinzu. Jetzt drückt man Strg-X oder F10, um mit den geänderten Parametern das Betriebssystem zu starten. Jetzt sollte das Starten in den Grafikmodus zum Login-Bildschirm funktionieren.

Nun wäre es natürlich lästig, jedesmal in Grub herumzueditieren, wenn man sein ubuntu oder LinuxMint hochfahren will. Den besagten Parameter „nomodeset“ muss noch dauerhaft in Grub2 gespeichert werden. Und das macht man so:

Man öffnet mit root-Rechten die Datei /etc/default/grub – ob mit „sudo nano“ im Terminal oder mit gedit, überlasse ich dem geneigten User. In dieser Datei sucht man dann die Zeile ‚“GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash“‚ und schreibt hinter dem „splash“ noch „nomodeset“. Die ganze Zeile sollte also so aussehen:

GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nomodeset“

Nun diese Datei speichern. Damit Grub2 diese Änderung auch annimmt, schießt man im Terminal noch ein „sudo update-grub“ ab.

Nach einem Neustart wird der Listeneintrag im Grub-Menü wie gewünscht funktionieren. Übrigens kann man in der Datei /etc/default/grub sein Startmenü auch optisch noch ein wenig aufhübschen (Auflösung, Hintergrundfarbe). Mehr dazu hier.

IPv6 und Firefox unter Linux

Ich habe auf einem neuen Notebook ein frisches LinuxMint 15 aufgesetzt und verschiedene Browser eingespielt, wie man das so als Webdeveloper macht. Ich habe in meinem Intranet eine Webseite, auf der angezeigt wird, ob man mit IPv4 oder IPv6 ankommt (auch hier auf der Blogseite unten links gibt es sowas). Nun fiel mir auf, dass der Firefox mir an der Stelle ansagt, ich käme lediglich mit IPv4 an. Die anderen Browser (SRWIron, Opera) zeigten mir hingegen an: alles ok mit IPv6. Wat is dat dann???

Die Lösung: bei der Firefox-Installation in Linuxmint ist standardmäßig die Suche nach einem IPv6-DNS abgeschaltet – warum auch immer. Ändern kann man das wie folgt: in der Adresszeile vom FF „about:config“ eingeben. Die Warnung „Hier erlischt eventuell die Garantie“ ignorieren wir geflissentlich. Nun geben wir in der Suchzeile den Begriff „ipv6“ ein. Nun landen wir auf einer einzigen Zeile „network.dns.disableIPv6“. Der Wert steht mit Sicherheit auf „true“. Doppelklick drauf – dann steht der Wert auf „false“. Browser neu starten – und nun kann der Feuerfuchs auch IPv6. Echt jetzt!

Scannen mit Gimp 2.8 unter Linux

Schon seit Ewigkeiten scanne ich mit einem All-in-one-WLAN-Scanner/-Drucker mit dem ubuntu-Tool „Simple Scan“, um das so entstandene Bild anschließend mit Gimp zu bearbeiten. Nun wollte ich mir diesen einen Zwischenschritt sparen – es muss doch möglich sein, direkt in Gimp zu scannen.

Geht natürlich. Mit Sane bzw xsaneimage. Falls noch nicht geschehen, mit dem entsprechenden Installationstool nachinstallieren (synaptic oder sudo apt-get install sane). Zunächst überprüft man mit scanimage –list-device, ob der Scanner korrekt im System vorhanden und erreichbar ist. Da sollte dann etwa sowas in der Art rauskommen wie „device ‚hpaio:/net/Deskjet_3050_J610_series?zc=HP025B5A‘ is a Hewlett-Packard Deskjet_3050_J610_series all-in-one“ – oder so ähnlich.

Nun erzeugt man im Verzeichnis „~/.gimp-2.8/plug-ins“ einen Symlink mit ln -s /usr/bin/xscanimage xscanimage .

Gimp - Scannen mit xscanimage (Sane)

Jetzt kann man endlich in Gimp scannen, und zwar über „Datei > Erstellen > xscanimage > Device Dialog…“ (vorher sollte man natürlich mit „Neu…“ eine neue Bildfläche erstellen). Hier öffnet sich dann der xscanimage-Dialog mit den Voreinstellungen und der Scan-Vorschau. Das Ergebnis lässt sich hier dann als XCF oder jedem beliebigen anderen Bildformat speichern.

Java-Plugin für alle Browser in ubuntu 13.04

Hin und wieder besuche ich immer wieder mal Webseiten, die ein Java-Plugin benötigen (z. B. das Online-Magnetometer DK0WCY in Scheggerott). In ubuntu-Linux hatte jedoch keiner meiner benutzten Browser – als da wären Epiphany, Opera, SRW Iron und Firefox – ein Java-Plugin aktiviert. Nun wusste ich aus früheren Versionen, dass man da z. T. mit lib*.so-Dateien in verschiedenen Verzeichnissen hantieren musste, die sich bei Updates auch immer wieder mal änderten.

Das ist nun vorbei. Standardmäßig ist bei ubuntu13.04 OpenJDK 6 (weitestgehend kompatibel mit Sun-Java JRE 7) bereits an Bord, nur das jeweilige Browser-Plugin (icedtea6) fehlte. Diesen habe ich nachinstalliert wie folgt:

sudo apt-get install openjdk-6-jre icedtea6-plugin

Danach funktionierten Java-Applets in all meinen Browsern.

Über die Diskussion rund um immer wieder auftretende Sicherheitslücken der Java-Plugins will ich mich an dieser Stelle nicht auslassen 😉

PuTTY und der Ziffernblock

Wenn ich mal mit Windows 7 arbeite (kommt selten genug vor 😉 ) und per SSH auf meinen Raspberry Pi zugreifen möchte, nutze ich PuTTY. Seit langem ärgert es mich ein wenig, dass ich auf dem Ziffernblock der Tastatur keine Ziffern im Terminalfenster erhalte, sondern die alternativen Steuerzeichen (so als ob NumLock off wäre).

Abhilfe ist ganz einfach: in den PuTTY-Einstellungen unter „Terminal > Features“ die Option „Disable Application Keypad mode“ aktivieren. Am besten gleich diese Änderung unter „Session“ bei den Saved Sessions dauerhaft speichern.

Dann klappts auch mit den Zahlen.