Die nächste Ausgabe der Community-Distribution openSUSE, ehemals SUSE Linux oder auch SuSE Linux Professional, basiert auf der aktuellen Enterprise-Distribution SUSE Linux Enterprise Server (SLES) und hört auf den Namen openSUSE Leap 15.4. Mit der ersten Alpha-Version kann jeder das neue Betriebssystem ausprobieren.
Nitrux 1.7.1 ist eine sehr aktuelle Distribution basierend auf dem Entwicklungszweig des als ganz besonders stabil geltenden Debian GNU/Linux und des sehr modernen Desktops KDE Plasma 5.23.3. Mit der neuesten freien Grafik-API Mesa 21.3.1 und dem aktuellsten Systemkernel Linux 5.15.6 LTS adressiert Nitrux auch Spieler.
Mesa 21.3.1 korrigiert Grafikfehler sowie Abstürze in diversen Spielen, die nach dem großen Update auf Mesa 21.3.0 aufgetreten sind. Vom Bugfix-Release profitieren unter anderem der „Effizienz-Champion“ AMD Radeon RX 6600 XT (Test), der düstere Shooter Metro Exodus, das Rennspiel Forza Horizon 5 sowie der Switch-Emulator Yuzu.
Die Linux-Distribution NixOS geht ihren ganz eigenen Weg und setzt in der neuesten Version 21.11 auf die aktuellen Desktops Gnome 41.1 und KDE Plasma 5.23.3 sowie einen eigenen Paketmanager und atomare Updates. Mit seiner unorthodoxen Arbeitsweise hebt sich das freie Betriebssystem stark von anderen Distributionen am Markt ab.
Das Open Source Media Center („OSMC“) – vormals Raspbmc –, das insbesondere für Einplatinencomputer der Serie Raspberry Pi konzipiert worden ist, kombiniert in der neuesten Version 2021.11 das freie Mediencenter Kodi 19.3 („Matrix“) sowie ein sogenanntes Just Enough Operating System („JeOS“) auf Basis von Debian.
Leider unterstützt nicht jedes System moderne HostKeyAlgorithms. Ein solches Beispiel konnte ich die Tage z. B. bei einem Switch beobachten konnte. Hier erscheint folgender Fehler:
Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
In so einem Fall kann man ausnahmsweise doch noch ssh-rsa erlauben und das geht entweder per Option im ssh-Aufruf:
ssh -o HostKeyAlgorithms=+ssh-rsa 192.168.1.1
oder man trägt es in die ~/.ssh/config dauerhaft ein:
Auf Basis von Red Hat Enterprise Linux 8.5 legt das polnische Unternehmen EuroLinux seine gleichnamige Enterprise-Linux-Distribution EuroLinux für Unternehmen neu auf, welche vollständig mit Red Hat, CentOS, Rocky Linux, Oracle sowie Scientific Linux kompatibel ist. Verbessert wurde unter anderem die Migration mittels Skripten.
Tuxedo stellt mit dem InfinityBook S 17 Gen6 seinen neuesten Bürotiger in Form eines 17"-Notebooks mit Intel Tiger Lake-H35, bis zu 64 GB DDR4-3200 und Intel Iris Xe vor, der zu Preisen ab 1.119 Euro an den Start geht und mit seinem äußerst schlichten Erscheinungsbild vor allem für das Büro und Home-Office prädestiniert ist.
Im Schatten von Ubuntu Touch, PureOS und Volla OS hat sich NemoMobile, dessen Wurzeln auf zwei bekannte Projekte und bis in Jahr 2012 zurückreichen, dennoch stetig weiterentwickeln können. Die Abspaltung („Fork“) von Sailfish OS ist jetzt in der neuen Version 0.7 erschienen und macht weiter Fortschritte abseits des Rampenlichts.
Die Entwickler von „The Document Foundation“, der gemeinnützigen Organisation hinter der kostenlosen Programmsammlung, haben LibreOffice 7.2.3 veröffentlicht und dabei insgesamt 112 Fehler der freien Office-Suite für Windows, macOS und Linux behoben.
Valve gibt mit Proton 6.3-8 eine neue Version der Kompatibilitätsschicht basierend auf der zu Windows kompatiblen Laufzeitumgebung Wine für das Spielen auf Steam unter Linux heraus. Neben insgesamt 24 neuen Spielen wird erstmals auch Unterstützung für KI-Upsampling mittels Nvidia DLSS (Test) geboten.
Der Chrome-OS-Fork CloudReady spielt in der Version 94.3 wieder problemlos Videostreams von Netflix ab. Zuvor hatte das Cloud-basierte Betriebssystem hier mit Problemen zu kämpfen. Auch ein Problem mit diversen APUs aus der Prozessorfamilie Picasso wurde mit dem neuesten Release behoben.
Schlichtheit („simplicity“) und Bedienerfreundlichkeit („not getting in the user's way“) sind die beiden Grundsätze, denen der ressourcensparende und für den X-Server (X11) ausgelegte Fenstermanager IceWM seit Anbeginn folgt. In der Version 2.9.0 soll das Profi-Werkzeug noch effizienter geworden sein und neue Features erhalten.
Das chinesische Betriebssystem deepin 20.3 ist die erste Distribution, die bereits ab Werk auf dem neuesten Systemkernel Linux 5.15 LTS basiert. Auch der hauseigene Desktop, das deepin Desktop Environment (DDE), erfährt in der neuen Version weitreichende Verbesserungen. Unterstützt wird nun der Core i-12000 (Test).
Die Distribution MX Linux 21 („Wildflower“) auf Basis von Debian 11 („Bullseye“) erhält mit der neuen „AHS-Edition“ eine kleine Frischzellenkur, die den Betriebssystemkernel Linux, die freie Grafik-Bibliothek Mesa 3D und den X-Server auffrischt. Mit dem Update einhergehend ist ein erweiterter Support für aktuelle Hardware.
Die zweite Auflage von »Python — Der Grundkurs« ist erschienen. Für die Neuauflage habe ich dieses äußerst erfolgreiche Buch im Hinblick auf die aktuelle Python-Version 3.10 vollständig aktualisiert und in vielen Details verbessert:
Assignment Expressions (Zuweisung und Vergleich kombinieren)
Neue Formatierungssyntax `f'{varname}‘
Vereinigung von Dictionaries
Pattern Matching (Tupel, Listen und Sets mit Mustern auswerten)
Stärkere Berücksichtigung von VSCode als Python-Editor
Am Grundkonzept des Buchs hat sich nicht geändert: Der kostengünstige Grundkurs richtet sich an Einsteiger, die parallel zum Buch Python in der Schule, im Studium oder in der Arbeit lernen, sowie an Umsteiger von anderen Programmiersprachen, die rasch die Eigenheiten von Python erlernen wollen.
Viele Beispiele aus der Praxis sowie Übungsaufgaben helfen dabei, Python ohne allzu viel Theorie kennenzulernen. Im handlichen Taschenbuchformat ist das Buch auch unterwegs ein idealer Begleiter. Mehr Details zum Buch gibt es hier:
Microsoft hat mit den Arbeiten am Support von Direct3D in der Version 12 für die freie Grafik-Bibliothek Mesa 3D und Betriebssysteme auf Basis von Linux begonnen, wie mehreren Einträgen auf der Entwicklerplattform GitLab zu entnehmen ist. Auch die hierfür verwendete Mailingliste bestätigt entsprechende Arbeiten am Treiber.
Q4OS ist eine leichtgewichtige Linux-Distribution basierend auf Debian GNU/Linux sowie den beiden Desktop-Umgebungen KDE Plasma und Trinity. Die neueste Ausgabe des freien Betriebssystems Q4OS 4.7 („Gemini“) setzt auf Debian 11.1 („Bullseye“) und bleibt dabei ganz seiner Linie treu. Freunde von KDE 3.x kommen auf ihre Kosten.
Der im August dieses Jahres erschienene Betriebssystemkernel Linux 5.14, der erstmals auch die 12. Generation der Core-Prozessoren (Test) unterstützt, hat sein Support-Ende erreicht und sollte umgehend durch das aktuelle Linux 5.15 LTS ersetzt werden, das noch bis Oktober 2023 offiziell mit Aktualisierungen versorgt wird.
Die freie Grafik-API Mesa 3D ist in der Version 21.3.0 erschienen und unterstützt erstmals Raytracing auf AMD Radeon 6000 mit RDNA 2 unter Vulkan. Darüber hinaus halten die Entwickler das Entwicklungstempo des Grafik-Stacks für Linux extrem hoch und lassen zahlreiche Verbesserungen einfließen.
Seit einigen Tagen ist Kotlin 1.6 verfügbar. Dieser Beitrag geht auf die wichtigsten Neuerungen im Vergleich zu Version 1.5 ein. Die Kurzfassung: Kotlin 1.6 ist ein »kleines« Release, für die meisten Entwickler gibt es keine wirklich dramatische Änderungen. Auch die Verbesserungen in der Standardbibliothek sind eher Kleinigkeiten.
Dieser Text bezieht sich auf die folgenden Versionsnummern:
IntelliJ: 2021.2.3
Kotlin: 1.6.0
JDK: 17
Weitere Kotlin-Update-Artikel auf meiner Website finden Sie hier:
In Kotlin 1.6 beklagt sich der Compiler, wenn eine when-Konstruktion für Enumerationen, boolesche Werte oder für Datentypen nicht alle möglichen Fälle erfasst, also nicht »exhaustive« ist. Aktuell können Sie diese Warnung noch ignorieren, aber in Kotlin 1.7 wird daraus ein Fehler. Spätestens dann müssen Sie die when-Konstruktion so formulieren, dass sämtliche Fälle erfasst werden (am einfachsten durch einen else-Block).
enum class Days {
Monday, Tuesday, Wednesday, Thursday,
Friday, Saturday, Sunday
}
val day = Days.Friday
when(day) {
Days.Monday, Days.Tuesday -> println("Wochenanfang")
Days.Wednesday, Days.Thursday -> println("Wochenmitte")
Days.Friday -> println("Fast geschafft")
// Warnung: Non exhaustive 'when' statements on enum will be prohibited
// in 1.7, add 'Saturday', 'Sunday' branches or 'else' branch instead
}
Standardbibliothek
readln: Wenn Sie mit readLine() eine Datei zeilenweise auslesen, liefert die Funktion entweder die nächste Zeile oder null. Nunmehr gibt es zwei Varianten zu readline, die die ursprüngliche Form längerfristig ablösen sollen:
readlnOrNull() verhält sich wie ehemals readLine(), ist aber klarer benannt und hat mehr Ähnlichkeiten mit println.
readln() löst dagegen einen Fehler aus, wenn das Ende der Datei erreicht ist, und kann statt dem wenig eleganten readLine()!! verwendet werden.
readLine() bleibt uns vorerst erhalten, soll aber in kommenden Kotlin-Versionen deprecated werden.
typeOf:typeOf<Typ> liefert ein KClass-Objekt, das Typ beschreibt. Die Funktion stand zwar schon seit Kotlin 1.3.40 zur Verfügung, ursprünglich aber nur für die JVM-Variante. Nunmehr kann typeOf in allen drei Kotlin-Varianten (also auch JS und Native) verwendet werden.
Duration-API: Die Duration API (beschrieben in Abschnitt 7.3 meines Kotlin-Buchs) gilt nun als stabil. Das gilt allerdings nicht für andere kotlin.time-Klassen zur Zeitmessung. Die in Kotlin 1.5 abgeschaffte Notation
val myDur = 2.minutes + 3.seconds - 10.milliseconds * 0.66
ist erfreulicherweise wieder eingeführt worden, erfordert nun aber Importe der betreffenden Companion-Eigenschaften, hier also:
Meine ersten Tests mit Kotlin scheiterten an Java 17. Auf meinem Rechner ist auch die JDK 17 installiert. Anscheinend ist das Build-System dazu nicht kompatibel. IntelliJ war nicht in der Lage, das minimalistische Console Template zu kompilieren und zeigte eine wenig hilfreiche Fehlermeldung an:
Could not open init generic class cache for initialization script '/tmp/wrapper_init4.gradle' (/crypt/home/kofler/.gradle/caches/7.1/scripts/954mesz5ux7usmane6uzpuni1).
> BUG! exception in phase 'semantic analysis' in source
> unit '_BuildScript_' Unsupported class file major version 61
Eine kurze Suche in stackoverflow ergab, dass Kompatiblitätsprobleme zwischen Gradle und der JDK 17 die Ursache sein könnten. Ich habe dann die JDK-Version für das Build-System auf 11 zurückgesetzt, und alles funktionierte. Merkwürdig. (Es geht hier nicht um die JDK für das eigentliche Projekt, die darf sehr wohl 17 sein.)
Die für das Spielen unter Linux noch immer essentielle Kompatibilitätsebene Wine, eine Windows-kompatible Laufzeitumgebung für POSIX-kompatible Betriebssysteme, ist jetzt in der neuen Beta 6.22 erschienen. Derweil bereitet sich das Projekt bereits auf den ersten „Freeze“ für die bereits Anfang 2022 erwartete Version 7.0 vor.
Nach den Aktualisierungen OTA-17, OTA-18 und OTA-19 hat das Gemeinschaftsprojekt UBports jetzt Ubuntu Touch OTA-20, nach wie vor auf Basis des mittlerweile etwas altersschwachen Ubuntu 16.04 LTS („Xenial Xerus“), herausgegeben und korrigiert einmal mehr diverse Fehler. Neue Funktionen halten sich hingegen in Grenzen.
Die Open-Source-Virtualisierungssoftware Proxmox VE basiert auf Debian und verwaltet virtuelle Maschinen und Container auf x86-Basis. In der neuesten Version 7.1 kann auch Windows 11 mit TPM 2.0 virtualisiert und über das Webinterface bedient werden. QEMU 6.1, LXC 4.0 und OpenZFS 2.1 sind jetzt ebenfalls mit an Bord.