Wechsel Wayland zu XServer

Mit Ubuntu 22.04 wird der Display-Server bekanntlich default von X11 (xorg) auf Wayland gewechselt – nicht nur bei einer Neuinstallation, auch bei einem Distupgrade. Seitdem und insbesondere seit erstem Pointrelease (hier wird Focal-Usern das Distupgrade angeboten) schlagen in einem bekannten Forum permanent Hilfeersuchen der unterschiedlichsten Art auf, die freilich allesamt in Inkompatibilitäten zu Wayland ursächlich sind.

Um nicht ständig neu den Wechsel zurück auf XServer erklären zu müssen, hier die Möglichkeiten:

Über den Loginscreen:
Wechsele auf dem Loginscreen, bevor Du Dich anmeldest, über das stilisierte Zahnrad von Wayland zu XServer, hier betitelt mit “Ubuntu” und “Ubuntu on xorg”!

Im Terminal:

  1. Starte den Editor:
    $ sudo nano /etc/gdm3/custom.conf
  2. Entferne aus
    #WaylandEnable=false

    das Doppelkreuz am Anfang!

  3. Speichere und beende den Editor!
  4. Reboote:
    $ sudo reboot

Google Chrome: Pubkey nicht verfuegbar

Derzeit gibt es unter Ubuntu wieder Ausgaben wie diese:

Err: http://dl.google.com/linux/chrome/deb stable InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4EB27DB2A3B88B8B
(...)
W: GPG error: http://dl.google.com/linux/chrome/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4EB27DB2A3B88B8B
E: The repository 'http://dl.google.com/linux/chrome/deb stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

Wieder sagt es schon, das Problem ist alles andere als neu. Googles verlinkter linux_signing_key.pub ist erneut veraltet, ohne, daß er gewechselt worden ist. Hinzu kommt, daß apt-key deprecated ist, sprich veraltet, soll demnächst nicht mehr funktionieren. Nur, daß das in dem Fall bereits so ist.


Nachfolgendes Vorgehen habe ich bereits in einem Linux-Forum beschrieben, hier im Blog kann ich es jedoch ggf. anpassen.

  1. Google-Fremdquellen entfernen:
    $ sudo rm sudo rm /etc/apt/sources.list.d/*google*.list*
  2. Aktuellen gpg-Key ziehen und direkt ins Verzeichnis schreiben:
    $ sudo mkdir /root/.gnupg/
    $ sudo gpg --no-default-keyring --keyring /usr/share/keyrings/google.gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
  3. Gewünschte Google-Fremdquellen mit gpg-Pfad hinzufügen:
    • Google Chrome:
      $ echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/google.gpg] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google_chrome_stable.list
    • Google Earth:
      $ echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/google.gpg] http://dl.google.com/linux/earth/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google_earth_stable.list
  4. Paketquellen, Paketquelleninhalte und installierte Pakete aktualisieren:
    $ sudo apt update && sudo apt full-upgrade

Chromium: fehlendes SSE3-Flag

Der Start eines aktuellen Chromiums oder dessen Code nutzender anderer Browser auf AMD Phenom II X6/4/3/2 ist nicht möglich, es kommt zu folgender Ausgabe:

The hardware on this system lacks support for the sse3 instruction set.
The upstream chromium project no longer supports this configuration.
For more information, please read and possibly provide input to their
bug tracking system at http://crbug.com/1123353

CPUs haben Befehlssätze, denen Befehlssatzerweiterungen hinzugefügt worden sind. Die wohl bekannteste dürfte MMX sein (was man eben 1997 unter Multimedia verstanden hat), die damals dem Pentium 1 auch im Produktnamen erkennbar als z.B. Pentium 166 MMX beigegeben worden ist.

Fragt man heute unter Linux mit

$ lscpu

oder gefiltert

$ lscpu | grep Flags

ab, wird eine ziemliche Menge solcher Befehlssatzerweiterungen gelistet. So gibt es bspw. SSE-Flags in Versionen. Genannte Phenoms haben zwar die Erweiterungen SSE1, SSE2, SSE3 und SSE4a (typische Mogelpackung AMDs, es liegt nicht SSE4 zugrunde, sondern es ist SSE3 plus 4 zusätzlicher Befehle), aber das Flag sse3 wird nicht ausgegeben, sondern bei diesen CPUs dessen alternative Bezeichnung pni.

D.h., Software kann SSE3 nutzen, wenn es allerdings deren Vorhandensein über Flag sse3 abfragt, fehlt für diese eben SSE3.

Das Ganze erinnert mich an Pentium M Banias und Dothan FSB100, denen das PAE-Flag fehlt (Ubuntu ab 12.04 ist damals 2 Jahre lang nicht ohne Tricks installierbar gewesen, ich habe hier diesbzgl. mehrere Posts geschrieben gehabt). Eine der Möglichkeiten ist das Hinzufügen des Flags in /proc/cpuinfo gewesen (ich habe es damals anders gelöst, die PAE-Abfrage aus dem jeweiligen Paket umgebogen). Dies können sich Phenom-User auch heute zu Nutze machen.

“/proc/cpuinfo” kann nicht direkt geändert werden. Daher kopieren wir deren Inhalt in eine neue Datei und fügen das Flag “sse3” hinzu (Kleinschreibung). Diese binden wir dann entsprechend ein.

#!/bin/sh
# 2022-09-05

$ sed 's/flags\t*:/& sse3/' /proc/cpuinfo > /tmp/cpuinfo_sse
$ mount -o bind /tmp/cpuinfo_sse /proc/cpuinfo
$ mount -o remount,ro,bind /proc/cpuinfo

exit

Man kann diese 3 Befehlszeilen (entnommen aus fake-pae.conf im Paket fake-pae von Bernd Kreuss und entsprechend angepaßt) einzeln über c&p ausführen (mount jeweils mit root-Rechten), man kann sinnvollerweise das Ganze als z.B. “/usr/local/bin/sse3flag.sh” speichern, mit

$ sudo chmod +x /usr/local/bin/sse3flag.sh

ausführbar machen und mit root-Rechten aufrufen. Letzteres bietet sich im Autostart an.

Dazu erstellt man eine Service Unit “/etc/systemd/system/sse3flag.service” mit folgendem Inhalt:

[Unit]
Description=add the SSE3 flag

[Service]
Type=simple
ExecStart=/usr/local/bin/sse3flag.sh

[Install]
WantedBy=multi-user.target

Mit

$ systemctl enable --now sse3flag.service

wird der Service permanent aktiviert (übersteht also Reboots) und gleich gestartet. Eine erneute lscpu-Abfrage gibt nun auch “sse3” aus. Da ich eine richtige ]:-) CPU habe, habe ich zum Test spaßeshalber “sse6” ;-) gesetzt – funktioniert.

VirtualBox: virtuelles SSD erstellen in 7.0.0b1

Bisher hat man in VBox über “Oracle VirtualBox VM Manager” in der jeweiligen VM über Storage → Storage Devices → Add Attachment nicht nur bestehende Datenträger hinzufügen, sondern auch zuerst erstellen können. In der 2022-08-26 freigegebenen 7.0.0 beta 1 erreicht man darüber einen veränderten Requester, der nur noch auswählen, also nicht erstellen läßt.

Tools → Media

Ich gehe davon aus, daß dies ein Fehler ist und behoben werden wird. Falls nicht bzw. bis dahin, gibt es die grafische Möglichkeit im VM Manager über den Button Tools. Die Auswahl ist wie auch andere Stellen erweitert worden. Zu Welcome, Media, Network und Cloud sind Extensions und Activities hinzugefügt worden.

Zur Verwaltung der Datenträger über das veränderte Frontend Media können nun VDI (VBox), VHD (MS), VMDK (VMware), HDD (Parallels), QCOW sowie QED (beide QEMU) erstellt worden.

Der Changelog steht nicht wie bei Finals auf Website zur Verfügung, man kann jedoch in UserManual.pdf (offenbar noch recht unvollständig) nachlesen.

Firefox snap durch deb ersetzen

Bekanntlich forciert Canonical deren Format snap, auch Firefox gibt es in Ubuntu 22.04 ausschließlich nur noch als snap-Image. Wie man das durch Firefox deb ersetzen kann, ist auf diversen Seiten beschrieben, aber auf keine würde ich verlinken (das geht schon mit “Ji m”s ewigem Kardinalfehler “sudo gedit” los).

  1. Erstelle eine Prioritätsdatei:
    • 1
      
      sudo nano /etc/apt/preferences.d/mozillateamppa.pref

      Füge über c&p ein:

      Package: firefox*
      Pin: release o=LP-PPA-mozillateam
      Pin-Priority: 501
    • Alternativ könnte man umgekehrt die Installation von Fx aus den Ubuntu-Repositories herunterstufen (das ist ein transitional .deb-Package, das in jedem Fall versionshöher ist, sich also drübersetzen und die snap-Version installieren würde)
      1
      
      sudo nano /etc/apt/preferences.d/firefox.pref

      Füge über c&p ein:

      Package: firefox*
      Pin: release o=ubuntu
      Pin-Priority: -1
  2. Füge das PPA Mozilla Team hinzu:
    1
    
    sudo apt-add-repository ppa:mozillateam/ppa
  3. Seit geraumer Zeit läßt apt-add-repository nach Hinzufügen automatisch “apt update” laufen – deswegen ist die Prioritätsdatei in dieser Liste an erste Stelle gesetzt worden (man muß ja nicht unnötige Schritte und Traffic erzeugen).

  4. Deinstalliere Fx snap (sollte man diese Anleitung damit abarbeiten, wäre ein temporäres Copypasten der Schritte in einen Editor von Vorteil, freilich ist’s nicht mehr viel):
    1
    2
    
    sudo snap remove firefox
    sudo apt purge firefox # fuer das transitional package
  5. Installiere
    • Firefox
      1
      
      sudo apt install firefox

    • oder Firefox-ESR
      1
      
      sudo apt install firefox-esr

      Für Firefox-ESR brauchte es die Prioritätsdatei nicht, da keine solche Version in den Ubuntu-Repos angeboten wird, sie stört aber auch nicht.

Konfigurationsverzeichnisse liegen an unterschiedlichen Orten:

  • snap: “~/snap/firefox/”
  • deb: “~/.mozilla/”

Im übrigen kann ich nur jedem nahelegen, sich andere Linux-Distributionen anzusehen. Besser wird’s mit Canonical und Ubuntu nicht.

LibreOffice: F1-Hilfe bei Fx/snap

In Ubuntu 22.04 hat Canonical bekanntlich Firefox durch ein extra dafür kreiertes snap-Image ersetzt. Daraus resultiert eine Unmenge von Problemen, die in Foren aufschlagen (wenn diese User wenigstens längst geschriebenes selbst suchen und lesen würden…).

Eines findet sich in LibreOffice, wenn man über F1 die Hilfe aufrufen will. Diese befindet sich als html lokal im System. Man kann sie auch im Netz aufrufen. Mancher im Busch oder auch mit LTE-Kontingent kann oder möchte das jedoch nicht.

Mir selbst kann es egal sein, ich nutze zwar LibO seit StarWriter, aber nicht die Hilfe. Ubuntu als Ganzes ist für mich seit Jahren keine seriöse Distribution mehr aus mehreren Gründen.

Infolge eines Threads habe ich mir dennoch aus Problemlösungsinteressse die Sache in einer LJammy-VM angesehen, da kann man schön die Versuche durch Rücksetzen eines Snapshots mit einem Wisch in den Müll kippen – und da gehört snap auch hin.

Vereinfacht gesagt: Der User darf mit snap-Programmen im Standard-Confinement strict nur auf ~ zugreifen. Daher kann in LibO über F1 nicht auf “/usr/share/libreoffice/help/index.html” sowie das gesamte Verzeichnis zugegriffen werden, wenn Firefox/snap als default gesetzt ist…und das ist es unter 22.04. LibO geht danach, es gibt keine Möglichkeit in einer LibO-Konfiguration zur Änderung (was als solches durchaus i.O. ist).

Möglichkeiten:

  • Kopieren des Verzeichnisses nach ~
    1
    
    cp -r /usr/share/libreoffice/help/ ~/Documents/libo-help/

    Ein Symlink, worauf man vielleicht kommen könnte, reicht da natürlich nicht. Für das darin liegende index.html kann man sich auch einen Starter erstellen, wenn man das häufig braucht und sich nicht durchklicken will.

  • Installation eines Browsers nicht als snap, z.B.:
    1
    
    sudo apt install falkon

    Damit kann man “/usr/share/libreoffice/help/index.html” öffnen, ggf. über einen zu erstellenden Starter.

Aus LibO heraus mit F1 kann man aber immer noch nicht aufrufen, denn Firefox/snap ist nach wie vor der default gesetzte Browser. Das zu ändern, sprich die richtige Stelle zu finden, kann Nerven kosten.

Beim Alternativen-System steht der snap-Firefox nicht mal drin. Man kann den hinzufügen und Falkon manuell setzen. Wirkt aber nicht. Auch mit xdg-settings wird es nichts. Hier wird aber immerhin angezeigt, daß $BROWSER gesetzt, deshalb keine Änderung möglich ist. Problem ist, es gibt 97 Möglichkeiten, an welchen Stellen die Variable gesetzt worden sein kann, bspw. in “/etc/environment”.

Unter LJammy habe ich es dann in “/etc/xdg/xdg-Lubuntu/lxqt/session.conf” gefunden, entsprechende Stelle geändert in

[Environment]
BROWSER=falkon

Bei einem anderen DE gibt es diese LXQt-Datei natürlich nicht, eventuell eine Entsprechung. Oder es liegt ganz woanders, hrr.

Man kann natürlich auch einfach snapd purgen. Nur baut Canonical in Ubuntu eben immer weiter gehend darauf. Entsprechende deb-Pakete gibt es nicht nur für Chromium und Firefox nicht mehr (ja, Fx aus PPA, aber mit Prioritätssetzung) oder werden wie bei vlc in universe innerhalb einer Ubuntu-Version nicht aktualisiert.

Ergo: anständige Linux-Distribution installieren!

VirtualBox: Unable to locate imported symbol ‘memset’

Nach der Installation von VirtualBox-6.1.34-150636*.’deb\|rpm’ (Filedate 2022-03-23) in entsprechenden Linux-Distributionen kommt es nach Startversuch einer beliebigen VM zu folgender VBox-Ausgabe:

Failed to load R0 module /usr/lib/virtualbox/VBoxDDR0.r0: Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0' (VERR_SYMBOL_NOT_FOUND).
Failed to load ring-0 module 'VBoxDDR0.r0' for device 'pci' (VERR_SYMBOL_NOT_FOUND).
 
 
Result Code:  NS_ERROR_FAILURE (0x80004005)
Component:  ConsoleWrap
Interface:  IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Als temporären Workaround oder auch generell kann man die Paketversion deinstallieren und die .run-Version installieren (wer Testbuilds installiert wie ich, macht das eh):

VitualBox: Installation ueber .run

Ein Zurückgehen auf die veraltete 6.1.32 ist weder notwendig noch empfehlenswert.

Update 2022-07-20: VirtualBox 6.1.36.
Update 2022-04-21: Es sind neue Builds für virtualbox-6.1_6.1.34-150636* nachgeschoben worden (.1 für .deb, -2 für .rpm).

Font-Darstellung in Java-Programmen

Da hat man nun seit Ewigkeiten diverse Verbesserungen der Darstellung von Schrift wie Hinting und Antialiasing, daß das Ganze nicht aussieht wie Bitmap-Fonts auf dem Amiga, dennoch wirken sie sich in Java-Programmen nicht aus, selbst, wenn es in diesen zusätzlich aktiviert werden kann und worden ist.

Ein Beispiel ist der bekannte TV-Browser. Wenigstens betrifft es nicht das Innere des Hauptfensters, also den Programminhalt der Sender, wohl aber den Kopf und auch “about”:

ohne Hinting

Es gibt jedoch Möglichkeiten, auch in Java-Programmen ein halbwegs anständiges Font-Rendering zu erhalten. Direkt verglichen:

mit Hinting

(Btw., falls jemand auf die Idee kommen sollte, nein, das hat absolut nichts mit beta zu tun.)

  • Möglichkeit auf Userebene:
    1
    
    $ nano ~/.xprofile

    Hinzufügen:

    Xft/Hinting 1
    Xft/HintStyle "hintslight"
    Xft/Antialias 1
    Xft/RGBA "rgb"
  • Möglichkeit auf Systemebene mit einem xsettings-Daemon:
    1
    
    # nano /etc/environment

    Hinzufügen:

    _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'

    Für “setting” trägt man einen der folgenden Werte ein:

    off, false, defaultkein Antialiasing
    onvolles Antialiasing
    gaspin TTF integriertes Hinting
    lcd, lcd_hrgbAntialiasing für viele gebräuchliche LCDs
    lcd_hbgr, lcd_vrgb, lcd_vbgralternatives AA-Setting für LCDs

Relogin ist nötig. Ich selbst habe sowohl User als auch System getestet (kein Unterschied in der Ausgabe) und mich für den systemweiten Eintrag und gasp entschieden.

EndeavourOS: verwaistes Paket pcurses

Beim Update in EndeavourOS und ggf. weiteren arch-basierten Distributionen erscheint folgende Ausgabe:

:: Searching AUR for updates...
 -> Orphaned AUR Packages:  pcurses

Bedeutet, das Paket pcurses ist verwaist. Es ist installiert, aber es ist nicht mehr im AUR enthalten. Es funktioniert, kann aber natürlich keine Updates mehr erhalten, mehr noch, das nicht mehr Vorhandensein kann sogar Installationen verhindern (EndeavourOS, wenn man die online-Installation aus dem Image heraus wählt, dort ist das Paket explizit im EndeavourOS-Teil unter “base packages” abzuwählen – es gibt bereits einen Fix des Scripts).

Klingt schlimmer, als es ist, zum Einen sind die Sources auf github.com das letzte Mal vor 4 Jahren angefaßt worden, da kommt eh nichts mehr (weshalb es dann wohl eben auch entfernt worden ist). Zum Anderen braucht man es nicht wirklich (sonst wäre es ja auch in den offiziellen Repositories und nicht im AUR gewesen). Also einfach deinstallieren:

1
yay -R pcurses

Hintergrund, was pcurses überhaupt ist, im Readme ist zu lesen:

“A curses frontend to libalpm.”

libalpm ist eine Package Management Library, die in erster Linie von pacman und damit auch dem Helper yay genutzt wird. pcurses ist eine textbasierte pseudografische Oberfläche im Terminal oder tty dazu (TUI, Text-based User Interface).

Wer ncurses kennt (pcurses ist ursprünglich ein Clone dessen), weiß, was das ist. Dem, der unter Ubuntu(-Flavours) oder Debian MS-TrueTypeFonts installiert hat, ist dies in simpler Form bei der altertümlich daherkommenden Lizenzabfrage begegnet (wo die Smartphone-Generation dann nicht weiß, daß es mit Tab weitergeht, und mit Click auf Close die Paketverwaltung aus dem Tritt bringt). Oder auch, wenn man eine Linux-Distribution nichtgrafisch installiert. Wie das früher normal gewesen ist. mc (midnight commander) nutzt ncurses ebenfalls.

uude wird gesundgeschrumpft

Der Projektleiter des bekannten Portals ubuntuusers.de hat heute bekanntgegeben, daß die Datenbank der registrierten User (derzeit 155250) um sämtliche inaktiven bereinigt wird. Dies beträfe auch explizit Mitglieder des Teams (derzeit 37).

“Auch, wenn wir allein damit schon enorm an Server-Kosten sparen”, freut er sich demonstrativ eine Diskette hochhaltend, “wir gehen noch einen Schritt weiter, indem wir all die Threads löschen, in denen ohne nachzudenken und selbst zu recherchieren stets dasselbe gefragt, nichts verstanden und über zig Seiten falsch supportet wird”. Um diese Mammutaufgabe zu stemmen, wolle man sinnvolle Postings einfach verschieben.

Außerdem brauche man dies alles nicht mehr, erklärt er sichtlich zufrieden, da die hinter Ubuntu stehende Firma Canonical mit ihrem snap-Format ein wahres Qualitätsprodukt geschaffen habe. Vorwürfe, daß sich Ubuntu damit immer weiter von Linux-Prinzipien entferne, weist er zurück, schließlich habe Canonical seit jeher die Nennung von Linux vermieden.

·

🃏 Tags drauf. Merke: Auch in einem solchen Artikel steckt ein wahrer Kern.

Einen Kommentar möchte ich aufgreifen und hätte auch schon ein Logo:

Aber nur echt mit knuddels.de-Client auf Java-IcedTea-Basis.