Das Update ist der Anfang vom Ende

Noch letzte Woche habe ich einer Linux-Usergroup Sitzung die Material-Shell Erweiterung für Gnome gezeigt und für sinnvoll erklärt. Zum Glück bin ich kein Politiker.

Das Update ist der Anfang vom Ende

Das keine 5 Tage später mein vorsichtiges Empfehlen dieser Erweiterung zu einem rüden Stop kommen würde, konnte da noch keiner ahnen. Leider kann ich Euch nicht zeigen, wie die Material-Shell funktioniert, da sie sich sehr erfolgreich durch ein Gnome-Extensions-Update selbst zerbröselt hat.

Trotz diverser Versuche, inkl. Neustarts von Gnome, war ich nicht in der Lage die Erweiterung auf diesem Benutzeraccount wieder zum Laufen zu bekommen. Da darf man gespannt sein und vermutlich alles, was mit der Erweiterung zu tun hat wie „Config“,“Cache“,“Erweiterung selbst“ aus den Verzeichnissen löschen und dann von vorn anfangen. Ohne diese Maßnahme kommt es zur sinnlosesten Fehlermeldung ever: „Error“

Damit kann man als Gnome-Benutzer natürlich nichts anfangen, außer die Erkenntnis gewonnen zu haben, daß es sich da jemand sehr einfach gemacht hat. Zum Glück kann man mit der Looking-Glass Konsole von Gnome doch etwas erfahren, aber halt nur als Eingeweihter in die Tücken der Gnome-Erweiterungen. Diese sind z.Z. in Javascript geschrieben und können daher tatsächlich von Webentwicklern geändert werden, die JS verstehen. Das hilft zwar nicht immer, weil es kein Browser-JS ist, aber kleinere Fehler kann man beheben.

Eine Debugkonsole von Gnome mit InhaltWir haben also den Fehler „TypeError: GObject.registerClass() used with invalid base class ( is Source )“

Scheint also ein Programmierfehler zu sein in der neuen Version. Das hätte ja eigentlich beim Testen mal auffallen müssen. Mit einem Trick kann man das ganze „Retten“:

Mit Firefox ladet Ihr jetzt die V4 der Gnome-Erweiterung für die passende Shellversion (34) runtern:

Die gespeicherte Version ist ein ZIP File, das packt Ihr einfach aus und wechselt in das erstellte Verzeichnis.

Ihr macht nun einen zweiten Dateibrowser auf und navigiert nach: „./local/share/gnome-shell/extensions/material-shell@papyelgringo“ . Alles was Ihr findet wird gelöscht, der Ordner bleibt.

Dann kopiert Ihr den Inhalt des frisch ausgepakten ZIP Files in das leere Verzeichnis:

Zwei Dateibrowser mit Inhalt einer Gnome-Erweiterung beim kopieren von Dateien

Drückt „ALT+F2“ und gebt „r“ ein. Das startet Gnome neu und siehe, die Material-Shell geht wieder. Problem gelöst, aber Updates gibt es erstmal keine mehr 🙂

 

 

OpenSSH: neuere ssh Versionen verweigern Verbindung

In der Fedora Welt kommt seit Wechsel auf Fedora 33 zu einem Problem mit OpenSSH-Servern, wenn die noch alte Hostskeys verwenden oder man selbst zum Authentifizieren einen Key benutzen möchte, der noch SHA1 als Hashalgorithmus benutzt.

OpenSSH: neuere ssh Versionen verweigern Verbindung

Das sollte eigentlich nicht passieren, daß man mit einem Clienten nicht mehr in seinen Server kommt, aber zur Zeit häufen sich die Meldungen, daß man mit dem OpenSSH Shellclienten von Fedora 33 nicht mehr auf Server einloggen kann, wenn entweder der Server einen alten SHA1 Keys verwendet, oder der Client einen Authkey benutzt der noch SHA1 ist.

Die temporäre Abhilfe ist, dem Clienten mitzuteilen, daß er gefälligst den alten SHA1 weiter benutzen soll. Dazu ruft man ssh mit dem Argument „-oPubkeyAcceptedKeyTypes=+ssh-rsa“ auf:

ssh -oPubkeyAcceptedKeyTypes=+ssh-rsa root@servername

Auf lange Sicht muß man natürlich einen neuen Schlüssel auf den Servern und für seinen Zugang ausrollen. Dazu muß man wissen, ob man davon überhaupt betroffen ist und da sagt einem der SSH-Keygenerator:

ssh-keygen -l -f .ssh/Krypto.id_rsa
4096 SHA256:ehMkPi1CRDPCoOYMxdTI8BB2+TkCa13CyMQXX5EXesg id@braunschweig.de (RSA)

Zuerst die Schlüssellänge 4096 Bits, dann der gesuchte Hashalgorithmus „SHA256“ und am Ende der Type „RSA“.  Wenn Ihr betroffen seid, weil Eurer Key unter 2048 und/oder SHA1 ist, dann braucht Ihr einen neuen Key:

ssh-keygen -b 4096 -t rsa-sha2-512 -N „PASSWORD“ -f „FILENAME“ -C „Kommentar“

wobei -N -f und -C alle optional sind, aber falls Ihr größere Mengen an Schlüsseln erzeugen müßte, ist das ganz hilfreich 🙂

Am Ende stellt sich nun aber heraus, daß es gar kein Fedora33 „Feature“ war, daß zu dem Problem geführt hat, sondern ein OpenSSH Bug. Hier der Patch, falls Ihr das adaptieren müßt:

— sshconnect2.c.orig 2020-09-26 07:26:37.618010545 -0700
+++ sshconnect2.c 2020-09-26 07:25:35.665009029 -0700
@@ -1281,10 +1284,9 @@
*/
if (ssh == NULL || ssh->kex->server_sig_algs == NULL ||
(key->type != KEY_RSA && key->type != KEY_RSA_CERT) ||
– (key->type == KEY_RSA_CERT && (datafellows & SSH_BUG_SIGTYPE))) {
– /* Filter base key signature alg against our configuration */
– return match_list(sshkey_ssh_name(key),
– options.pubkey_key_types, NULL);
+ ((key->type == KEY_RSA || key->type == KEY_RSA_CERT)
+ && (datafellows & SSH_BUG_SIGTYPE))) {
+ return xstrdup(sshkey_ssh_name(key));
}

/*

Der Patch ist nicht von mir, sondern von Gordon Messmer und wurde erst vor einigen Stunden bei OpenSSH eingereicht. Mal sehen was daraus wird 😉

Linux: Multitouchsupport im Surface Pro 4

Heute geht es mal wieder um Linux auf dem Surface Pro 4 Tablet. Da hatten wir lange keinen Beitrag mehr dazu 🙂

Linux: Multitouchsupport im Surface Pro 4

Mit Kernel 5.8 kam „leider“ eine Änderung ins System: Touch ging nicht mehr. Auf einem Tablet ist das natürlich der Super-GAU und natürlich kamen sofort Erinnerungen auf zur Erstinbetriebnahme vor 18 Monaten.

Der letzte Kernel der noch ohne weiteres funktionierte war 5.7.17-2, ergo war erstmal ein Bugreport an die Entwickler nötig. Zum Glück konnten die das Problem erfolgreich beheben, wobei man sagen muß, ein bisschen mehr PR täte denen ganz gut 😉

Ihr braucht eine neue Zusatzsoftware für den Kernel 5.8: iptsd

Die Installation ist ganz einfach, sofern Ihr, und ich bin sicher, daß Ihr das habt, das Kernel Repo eingerichtet habt: surfacelinux.com .

dnf install iptsd -y

systemctl start iptsd
systemctl enable iptsd
reboot

Eigentlich ist der iptsd ein User-Space-Daemon, er braucht keinen Neustart, aber das hatte bei mir leider nicht funktioniert. Erst nach dem das System 2h geladen und dann neu gestartet wurde, funktionierte der Daemon wie er sollte.

Jetzt war wieder alles möglich, was der JakeDay-Kernel, keine Ahnung wieso der abgetaucht ist, auch konnte: nämlich Multi-Touch-Gesten ( und die Maschine wirklich abschalten, aber das ist ne andere Geschichte )

Multi-Touch-Gesten meint z.b., daß man unter der Gnome-Shell in die Aktivitätenübersicht mit Hilfe von 3-Fingern die sich aufeinander zubewegen wechseln kann. Auch funktioniert das Zoomen im Firefox und anderen dafür vorbereitete Apps wieder, was die Bedienung deutlich einfacher macht im Tabletmodus \o/

Jetzt braucht es nur zwei Fixe an der Kamera und dem Mouseeventmanagment und das Tablet ist, bis auf den hohen Stromverbrauch durch den Kernel selbst, endlich vollständig benutzbar.

„Jungs, gut gemacht!“ 🙂