Probleme mit dem cryptsetup-Workarround

Vor einigen Monaten veröffentlichte ich eine Anleitung zur Verschlüsselung eines Ubuntu-Servers. Da es einen Bug im cryptsetup gab, wurde in dem Artikel ein Workarround beschrieben. Mittlerweile wurde das cryptsetup-Paket aktualisiert und der entsprechende Bug gefixt. Allerdings führt dies zu Problemen mit dem Workarround. Möchte man den Server nun entsperren, erhält man folgende Meldung:

$ cryptroot-unlock
/bin/cryptroot-unlock: line 192: 2: parameter not set
/bin/cryptroot-unlock: line 192: 2: parameter not set
/bin/cryptroot-unlock: line 192: 2: parameter not set

Gelöst werden kann dieses Problem in dem folgendes Kommando genutzt wird:

sed 's/print $1, $5/print $1, $3/' /bin/cryptroot-unlock > /tmp/cryptroot-unlock; ash /tmp/cryptroot-unlock

Damit lässt sich der Server entsperren. Im zweiten Schritt kann nun der Workarround entfernt werden und das initramfs aktualisiert werden:

rm /etc/initramfs-tools/hooks/cryptsetup-fix.sh 
update-initramfs -u

Nach einem Neustart des Systems, kann dieses nun wie folgt entsperrt werden:

BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# cryptroot-unlock 
Please unlock disk cryptroot (/dev/md1): 
cryptsetup: cryptroot set up successfully
# exit

Anschließend wird das System hochgefahren und der Server steht zur Verfügung.

10 Jahre alter Bug in JetBrains IDEs

Zur Entwicklung nutze ich in vielen Fällen die IDEs von JetBrains. Aus meiner Sicht sind die IDEs von JetBrains im Grunde großartig. Doch wo Licht ist, da fällt auch Schatten. Wenn man diese IDEs mit einer deutschen Tastaturbelegung nutzt, so wird man desöfteren mit Problemen konfrontiert sein. So ist es z.B. nicht möglich die Tastenkombination für die zeilenweise Auskommentierung zu nutzen. Es funktioniert mit einer deutschen Tastaturbelegung nicht. Manchmal kann man diese Probleme umgehen. Unter macOS würde die Nutzung des Numpads als Workarround in den meisten Fällen mangels Numpad scheitern.

Ein Beispiel für problematische Tastaturkürzel

Bei meiner Suche nach einer Lösung bin ich über einen entsprechenden Bug im Ticketsystem von JetBrains gestolpert: JRE-216. Dieser Bug vom 31. Oktober 2007 ist mittlerweile über 10 Jahre alt und noch immer ungelöst. Er verweist unter anderem auf das Ticket IDEA-165950. Auch in diesem Ticket geht es um die Unterstützung nationaler Tastaturbelegungen. Gelöst ist dieses Ticket nicht; auch wenn es mittlerweile Bestrebung gab, das Problem anzugehen. So heißt es weiter warten, auf eine endgültige Lösung; für ein Problem welches viele Entwickler Zeit, Ärger und Produktivität kostet.

Fehlersuche mit “git bisect”

In größeren Projekten arbeiten meist mehrere Entwickler an einem Git-Repository. Und wie es bei der Software-Entwicklung nun einmal ist kommt es ab und an zu Fehlern. Bei einer komplexen Versionshistorie ist es allerdings schwierig den Ursprungscommit eines Fehlers zu finden. An dieser Stelle hilft das Git-Kommando bisect weiter. Zum Start muss Git mitgeteilt werden welcher der letzte (aus Sicht des Entwicklers) korrekt funktionierende und der erste fehlerhafte Commit ist. Dies geschieht im Terminal auf dem Repository mittels:

git bisect start
git bisect good <hash>
git bisect bad <hash>

Danach checkt bisect einen Commit aus. Dieser Commit muss nun auf den gesuchten Fehler überprüft werden. Ist der Fehler weiterhin vorhanden, so teilen wir dies Git mittels:

git bisect bad

mit. Ist der Fehler nicht mehr vorhanden, so teilen wir Git dies ebenfalls mit:

git bisect good

Dieser Prozess wird dabei so lange durchlaufen bis Git uns am Ende des Prozesses mitteilt, in welchem Commit der Fehler seinen Ursprung hat. Danach können wir uns den Commit notieren und bisect mittels:

git bisect reset

mitteilen das der Prozess zu einem Ergebnis geführt hat. Dadurch wird das Repository in seinen Ursprungszustand versetzt.

Probleme mit dem Chrome Präsentationsmodus unter Mac OS X

Unter Mac OS X gibt es in den aktuellen Versionen des Browser Chrome einen nervigen Bug. Wenn man den Vollbildmodus aktiviert, kann es passieren, das Chrome in den Präsentationsmodus schaltet. Dieser lässt sich dann nicht einfach per Escape, sondern nur mit der entsprechenden Tastenkombination (Shift + Cmd + F) beenden.

Chrome

Chrome

Bei dem Fehler scheint es sich um einen Regresionsfehler zu handeln, wie der entsprechende Bugreport zeigt. Leider scheint es im Moment keinen Workarround zu geben, so das man hier auf eine fehlerbereinigte Version warten muss. In der Zwischenzeit sollte man sich obige Tastenkombination merken.

Probleme mit der Fontauswahl unter Inkscape

In einigen Versionen hat Inkscape Probleme mit der Fontauswahl. Nachvollziehen kann man das zum Beispiel mit den Ubuntu Fonts. Diese gibt es in den Varianten “Ubuntu”, “Ubuntu Condensed” und “Ubuntu Light”. Möchte man nun z.B. den Font “Ubuntu Light” anwählen, so funktioniert es nicht. Inkscape springt unvermittelt auf den Font “Ubuntu”.

Die Fontauswahl unter Inkscape

Die Fontauswahl unter Inkscape

Bei diesem Problem handelt es sich um ein Fehler in Inkscape, welche sich glücklicherweise umschiffen lässt. Dazu gibt man den Fontnamen, in der Fontleiste ein und hängt ein Komma an den Namen. Aus “Ubuntu Light” wird dann “Ubuntu Light,”. Damit akzeptiert Inkscape den Font und man kann wieder damit arbeiten.

Weitere Informationen gibt es unter:
https://bugs.launchpad.net/inkscape/+bug/595432