Arch Linux 2022.01.01, Image in VBox nicht UEFI-faehig

Um in einer VBox-VM statt im CSM-Mode (Compatibility Support Module, das UEFI verhält sich, als sei es ein BIOS) im UEFI-Mode zu booten, ist lediglich im “VM VirtualBox Manager” unter System → Motherboard → Extended Features “Enable EFI (special OSes only)” zu aktivieren. Alternativ in einem Terminal:

1
vboxmanage modifyvm "VM name" --firmware efi

Selbstverständlich muß das zu bootende Image so oder hybrid erstellt worden sein (ein installiertes System sowieso). Das einfache Bootmenu von Arch Linux erscheint dann wie folgt:

Nicht so beim aktuellen Image archlinux-2022.01.01-x86_64.iso. Die Arch-Einträge fehlen, schlicht da das Image in VBox-VMs im UEFI-Mode nicht boot-fähig ist. Nativ soll es OK sein.

Man kommt nur in die EFI Shell oder das rudimentäre UEFI-Menu. Änderungstests in letzterem oder im VM-Manager sind erfolglos. Andere UEFI-fähige Distributions-Images, bspw. ein mit isorespin.sh angepaßtes Lubuntu oder das aktuelle EndeavourOS booten anstandslos, ebenso Arch-Images davor.

Ursächlich soll systemd 250.1-1 sein, es gibt einen Bugreport dazu bei archlinux.org. So es so ist, müßte dann, da Upstream, jedoch einer bei systemd erstellt werden.

Erhärtet wird es, da ein User ein Image mit systemd 249.x erstellt hat, das entsprechend boot-fähig ist. Jener bietet es zwar zum Download an, ein OS-Image von irgendjemandem verändert, so nett es gemeint ist, würde ich jedoch nicht verwenden.

Ebensogut könnte es ein Zusammenspiel mehrerer Faktoren, d.h. mit VBox sein, würde also (auch) dorthin gehören. Freilich nutze ich prinzipiell die jeweils aktuelle Version, sprich Testbuilds, derzeit 6.1.31 (das letzte ist knapp 4 Wochen alt, jetzt könnte so langsam mal wieder was kommen, manchmal gibt’s 3 Versionen pro Woche). In besagten Threads wird 6.1.30 final verwendet.

Wer jetzt Arch Linux in einer VBox-VM mit UEFI installieren will (mit CSM gibt es kein Problem), kann 2021.12.01 heranziehen – hat dann natürlich erheblich zu aktualisieren, was bei arch durch permanente Updates aber ohnehin der Fall ist – oder mit 2022.01.01 in der EFI Shell folgendes aufrufen:

1
FS1:\EFI\BOOT\BOOTx64.EFI

Das installierte System scheint keine UEFI-Boot-Probleme mit aktuellem systemd in VBox-VMs zu haben.

Update 1: Zwischenzeitlich ist upstream ein Bugreport für systemd erstellt worden.

Update 2: Der Commit boot: Fix readdir_harder() on VirtualBox für systemd ist 2022-01-10 Spätabend hinzugefügt worden, Arch Linux liefert systemd 250.2-2 damit in testing bereits aus. Das Februar-Image sollte dann dahingehend problemlos boot-fähig sein.

Update 2022-01-18: Die heutige (eigentlich vom 13.) Final VBox 6.1.32 löst zwar das Problem, Arch Linux 2022.01.01 zeigt im UEFI-Mode das vollständige Menu und kann folgerichtig booten. Jedoch bringt VBox 6.1.33-149396 das Problem zurück.

Streams in vlc abspielen

Streams einer bekannten Videoplattform sind dafür vorgesehen, im Browser zu laufen. Um darüber hinausgehendes zu verhindern, werden ständig neue technische Rafinessen ersonnen (man denke nur an Fragmentierung des Videos, separate Audiospuren etc.).

vlc hat man bis vor geraumer Zeit durch Aufruf des Stream-URLs noch nutzen können. Derzeit stockt die Wiedergabe jedoch aller paar Sekunden – unbrauchbar. In Foren wird nach Lösungen gefragt. Tips, man solle doch smplayer nehmen (ohnehin nur ein Frontend für mplayer oder mpv), verkennen, daß dieser selbst derartige Streams gar nicht abrufen kann, sondern sich eines bekannten Zusatz-Tools bedient.

Ich betone, es soll ausschließlich um die Wiedergabe des temporär nur dafür im Cache gehaltenen Streams gehen. Also das, was ein Browser auch nur macht, aber ein Player technisch besser könnte, wenn ihm kein Bein gestellt wird (die Systembelastung ist merklich geringer, insbesondere unter Linux, dort haben Browser i.d.R. keine wirkliche Hardware-Beschleunigung).

vlc nutzt für Quellen entsprechende Playlists, eine Art Profile. Arch-based sind sie unter “/lib64/vlc/lua/playlist/” abgelegt, in debian-basierten Systemen unter “/usr/lib/x86_64-linux-gnu/vlc/lua/playlist/”. Default sind es .luac-Files. Es werden jedoch nicht nur Kompilate, also Binaries, erkannt, sondern auch .lua-Files.

Man benötigt keine neue vlc-Version (auch ein 4.0er nightly-snap soll nicht helfen), man kann das entsprechende .luac-File durch ein .lua-File (logscherweise raw) ersetzen.

In EndeavourOS ist das Problem damit behoben, ebenso in einer LFocal-VM (dort hat es bisher gar nicht abgespielt werden können), in einer Debian-testing-VM stockt es noch. Es sind unterschiedliche vlc-Versionen. Generell funktioniert es also – derzeit – wer es wirklich braucht (für mich ist es lediglich eine interessante technische Problemstellung gewesen), müßte in letzterem weitersuchen, bspw. Konfigurationen (VM, vlc,…) vergleichen.

LXQt: Shortcuts ohne Funktion

Wenn Tastenkombinationen keine Reaktion mehr zeigen, merkt man erstmal, wie sehr man selbst darauf baut. LXQt-Shortcuts funktionieren nicht mehr (wenn nicht mal über ctrl+alt+t ein Terminal gestartet werden kann, was ich hier ständig mache, ist das schon hart, hrr).

Sobald der Desktop aufgebaut ist, erscheint folgende Message:

lxqt-panel
Removable media/devices manager: Global shortcut 'X86Eject' cannot be registered

Ich untersuche das Problem seit Freitag (da ist es erstmals aufgetreten, testing ist in EndeavourOS, also arch-based, prinzipiell aktiviert). Es ist irrelevant, welcher Window Manager genutzt wird (openbox, xfwm4). Zwischenzeitlich habe ich schon angenommen gehabt, ich hätte die Ursache gefunden bzw. zumindest einen Workaround.

lxqt-globalkeysd kann nicht gestartet werden. Dies kann man sehen unter:

LXQt Configuration Center → Session Settings → Basic Settings → Global Keyboard Shortcuts

An der Stelle kann man den Dienst starten, freilich überlebt dieser keinen Reboot oder Relogin.

Unter

LXQt Configuration Center → Autostart → Application Autostart → LXQt Autostart

habe ich “lxqt-globalkeysd” mit “Wait for system tray” als Workaround hinzugefügt. Hilft allerdings nicht zuverlässig. Im Moment funktioniert’s, was nicht daran liegen muß.

Zum Thema kann man fast nichts finden. Vor 5 Jahren ist das Fehlerbild schon mal aufgetreten (nicht bei mir, ich habe damals LXDE genutzt). Damals soll geholfen haben:

PCmanFM → Preferences → Volume → disable “Mount removable media automatically whe they are inserted” und disable “Show available options for removable media when they inserted”

Ist hier aber auch nicht einwandfrei reproduzierbar.

Timetable: EndeavourOS

Das aktuelle EndeavourOS-Release als Anlaß nehmend, liste ich ähnlich wie schon für siduction dessen Timetable. Da ich die Images aufgeführter Distributionsversionen bislang nicht gelöscht habe (normalerweise hebe ich veraltetes nicht auf, habe den Artikel aber schon länger geplant), habe ich diesmal Image Sizes, Kernel und XServer konkret aufführen können (ich hab’ jedes Image in einer VM mindestens soweit gebootet – und das ist stellenweise recht interessant ;-)).

Read more “Timetable: EndeavourOS”

arch/LXQt: Gruppierte Fenster im Panel nicht waehlbar

Laufen mehrere Instanzen eines Programmes, werden deren Fenster in einem Panel gruppiert. Das bedeutet, in bspw. LXQt-Panel erscheint nur 1 Tab für eine Programmgruppe, geht man darauf, klappt das Panel vertikal bzw. horizontal (je nach Anordnung des Panels) auf, man kann das gewünschte Fenster anklicken.

Man spart damit also massiv Platz. Hat man z.B. Thunderbird geöffnet, will eine eMail schreiben, sind das schon mal 2 Fenster, im Tb-Tab gruppiert. Benötigt man für die eMail Informationen aus dem ebenfalls geöffneten Filemanager oder Browser, wechselt man dorthin und wieder zurück.

Seit Mitte der Woche sind gruppierte Fenster aber nicht mehr klickbar. Der jeweilige Tab öffnet sich zwar (es fällt schon auf, daß man dazu überhaupt klicken muß, denn eigentlich ist es ein Mouseover), man sieht die einzelnen Einträge, beim Klick darauf schließt sich aber sofort die Auswahl.

Mit ctrl+tab kann man zwar die Fenster weiterhin wechseln, sind jedoch viele geöffnet, braucht das länger.

Eine Falschkonfiguration in z.B. panel.conf ist es nicht, ich nehm’s vorweg, nicht das Panel selbst ist die Ursache.

Ich habe diverse Bugtracker als RSS-Feeds aboniert. In dem von arch findet sich tatsächlich FS#70386 – LXQt panel doesn’t allow to select any grouped window von gestern Nachmittag. Offensichtlich sind kürzliche Änderungen in bestimmten qt5-Paketen in arch ursächlich.

Als Workaround kann man die jeweils letzte Version ohne den Namenszusatz “kde” installieren. Hat man diese noch in “/var/cache/pacman/pkg/” liegen, kopiert man diese einfacherweise in ein leeres Verzeichnis, um von dort mit “pacman -U *” zu installieren. Wer sein System sauber hält, hat die freilich nicht mehr und zieht sie sich von archive.archlinux.org:

1
2
3
4
5
6
7
mkdir -p ~/Downloads/arch/oldver/qt5/
cd ~/Downloads/arch/oldver/qt5/
wget https://archive.archlinux.org/packages/q/qt5-base/qt5-base-5.15.2-5-x86_64.pkg.tar.zst
wget https://archive.archlinux.org/packages/q/qt5-declarative/qt5-declarative-5.15.2-1-x86_64.pkg.tar.zst
wget https://archive.archlinux.org/packages/q/qt5-svg/qt5-svg-5.15.2-2-x86_64.pkg.tar.zst
wget https://archive.archlinux.org/packages/q/qt5-wayland/qt5-wayland-5.15.2-1-x86_64.pkg.tar.zst
yay -U *

Es erfolgt eine Warnung, daß gedowngradet werden soll.

Um im nächsten Update-Prozeß diese 4 Pakete nicht gleich wieder zu ersetzen, muß man sie natürlich pinnen. In “/etc/pacman.conf” erweitert man die entsprechende Zeile auf “IgnorePkg = qt5-base qt5-declarative qt5-svg qt5-wayland”.

Vergessen kann man das Ganze nicht, denn z.B. “yay -Syyu” zeigt “ignoring package upgrade” an. Sind dann gefixte Pakete verfügbar, kommentiert man die IgnorePkg-Zeile aus oder entfernt die Paketnamen.

·

Update: Revert the revert, the affected applications have been fixed ;-)

Wenn qt5-base-5.15.2+kde+r171-3 in Abhängigkeit der Aktualität des jeweiligen Mirrors angeboten wird, kann und sollte das Pinning wieder aufgehoben werden.

Blaulichtfilter, Software-Loesung mit redshift

Blau macht glücklich, Blau bedeutet Hoffnung. Aber wo viel Licht, da viel Schatten. ;-) Man soll nachts nach stundenlanger Arbeit am Rechner weniger gut einschlafen können, man sei noch auf Tagmodus, und das, obwohl die Augen schneller ermüden. Wobei das natürlich auch eine Frage des sehr viel höheren Kontrasts gegenüber meist abgedunkeltem Raum ist.

Sei’s drum, jedenfalls gibt es neuere Monitore mit Blaulichtfilter (manchmal als smartLight vermarktet), auch manche Smartphone-Displays besitzen derartiges, mehr oder eher weniger brauchbar (dort, wo ich es ausprobiert habe, würde ich es ausschalten). Das bedeutet nicht, es kommt kein Blau mehr durch, man sieht nur noch Rot. =:-)

Wer keinen solchen Monitor besitzt, wird nicht über OSD ständig die Farbtemperatur (wer vor heutiger Allerweltsknipserei mit Grundlagenwissen fotografiert hat, kennt das mit Tageslichtfilm und Kunstlichtfilm, aber selbst bei s/w mit Vorsatzfiltern) ändern wollen, es gibt Software-Lösungen wie redshift (das ist kein neues Programm, aber manche scheinen Schwierigkeiten mit der Einrichtung zu haben). In Abhängigkeit des Standorts und der Uhrzeit wird eben jene Farbtemperatur über den XServer mit xrandr angepaßt.

Die Installation ist simpel:
arch-basiert:

1
# pacman -S redshift redshift-gtk

debian-basiert:

1
# apt install redshift redshift-gtk

Es ist auch ohne das grafische Frontend möglich. Zur Bestimmung des Standorts kann man geoclue installieren, nur dafür ist es aber keineswegs nötig. Sinnvollerweise erstellt man einfach eine Konfigurationsdatei ” ~/.config/redshift.conf” mit entsprechendem Inhalt. Auf der Site des Projekts kann man ein Muster ziehen und an die eigenen Verhältnisse anpassen. Das Ganze ist wirklich sehr einfach, gut dokumentiert (ich entferne im folgenden File diese Zeilen auch nicht, füge im Gegenteil hilfreich sein könnende Sites ein).

Die eigenen Koordinaten, also den Breiten- und Längengrad, kann man bspw. über dateandtime.info erfahren. Für Leipzig sind dies Breitengrad 51°20.3772′ N, Längengrad 12°22.2774′ O. Einzutragen sind

lat=51.20
lon=12.22

Die zu wechselnde Farbtemperatur in Kelvin kann man sacht wählen

temp-day=6500
temp-night=6200

oder stärker, so man dies will.

Sinnvoll ist der Eintrag

transition=1

für einen fließenden Übergang.

Soll nur ein bestimmter Screen betroffen sein, ist dieser anzugeben, anderenfalls kann man die Zeile auch mit einem Semikolon auskommentieren.

Speichern, redshift-gtk starten! Das ist über Icon im Startmenu möglich, aber natürlich auch in einem Terminal, z.B. zum Testen. Über das Glühlampen-Icon kann man redshift auch schnell zu oder abschalten und auch in den Autostart eintragen.

Kleiner Hinweis noch, in einer VM funktioniert das nicht (das Programm als solches schon), das müßte man im Host durchführen.

Nachfolgend eine “~/.config/redshift.conf”:

Read more “Blaulichtfilter, Software-Loesung mit redshift”

CUPS: Drucker nicht mehr angezeigt

Wenn seit etwa einer Woche (in Abhängigkeit, welche Distribution installiert ist, ob man in arch testing aktiviert und wann geupdatet hat) keine Drucker mehr als installiert angezeigt werden, fängt man nicht unlogisch an, die neu installieren zu wollen, auch cups nicht.

Mit CUPS als solchem liegt man jedoch nicht falsch, man checkt, ob der Service läuft:

1
2
3
4
5
6
$ systemctl status cups
● cups.service - CUPS Scheduler
     Loaded: loaded (/usr/lib/systemd/system/cups.service; disabled; vendor preset: disabled)
     Active: inactive (dead)
TriggeredBy: ● cups.socket
       Docs: man:cupsd(8)

Also nicht, richtig vermutet. Kann man den Daemon mit

1
# systemctl start cups

starten, sprich funktioniert das Drucken wieder (aber nur für diese eine Session), weiß man schon mal, alles ist richtig installiert. Bis auf die Kleinigkeit, daß eben der Daemon nicht automatisch gestartet wird. Sieht man selbstverständlich bei Updates hin, sollte aufgefallen sein, daß sich kürzlich bzgl. cups etwas geändert hat. Man prüft in den Changes. Ab Zeile 190 “# rename the systems service files” wird man bestätigt, daß 5 Files “org.cups.cups*.*” in “/usr/lib/systemd/system/” umbenannt worden sind. Nun sollte man wissen, daß auf diese über Softlinks zugegriffen wird. Die zeigen aber auf nicht mehr existente Files.

Man sollte den Daemon nochmal stoppen, auch, um hernach gleich zu sehen, ob’s funktioniert hat:

1
# systemctl stop cups

Da man sauber arbeitet, löscht man zuerst die toten Links:

1
# systemctl disable org.cups.cupsd

Nun legt man die neuen Softlinks an:

1
# systemctl enable --now cups

Mit der Option “now” wird erreicht, daß das Gewünschte sofort aktiv ist, kein Reboot oder extra Start nötig.

Status-Check:

1
2
3
4
5
6
7
8
9
10
$ systemctl status cups
● cups.service - CUPS Scheduler
     Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2020-11-23 18:10:42 CET; 31s ago
TriggeredBy: ● cups.path
             ● cups.socket
       Docs: man:cupsd(8)
   Main PID: 859 (cupsd)
     Status: "Scheduler is running..."
(...)

Done.

arch: “-bash: append_path: command not found”

Über ssh auf ein arch-basiertes System eingeloggt bringt folgende Ausgabe, ggf. auch mehrfach untereinander:

-bash: append_path: command not found

Check auf profile* in /etc:

/etc$ ls -la profile*
-rw-r--r-- 1 root root  811 Aug  6  2018 profile
-rw-r--r-- 1 root root 1020 Sep  3 00:30 profile.pacnew
 
profile.d:
(...)

Bei einer Aktualisierung ist ein neues profile geschrieben, aber sicherheitshalber unter verändertem Filename gespeichert worden. Dies sollte man vergleichen. Entscheidet man sich für die neue Konfiguration, ist profile zu löschen (oder meinetwegen zu sichern) und dann profile.pacnew in profile umzubenennen:

/etc$ sudo mv profile{,_old}
/etc$ sudo mv profile.pacnew profile

arch: qbittorrent startet nicht

Wer arch/testing aktiviert hat, kann derzeit qbittorrent nicht nutzen. Wenn scheinbar nichts passiert, ruft man ein Programm in einem Terminal auf und erhält in diesem Fall folgendes:

$ qbittorrent 
qbittorrent: symbol lookup error: qbittorrent: undefined symbol: (...)

Über einen Bugreport kommt man zum Hintergrund und findet auch eine Diskussion dazu. Bis die eigentliche Ursache behoben ist, kann man sich mit einem Workaround behelfen: man installiert die derzeitige Version aus stable (oder man nutzt transmission).

$ sudo pacman -S "libtorrent-rasterbar=1:1.2.8-1"
[sudo] password for axt: 
warning: downgrading package libtorrent-rasterbar (1:1.2.10-1 => 1:1.2.8-1)
(...)

Damit die nächste Aktualisierung das nicht gleich wieder zunichte macht, muß man das Paket auf hold setzen:

$ sudo nano /etc/pacman.conf

Hier fügt man “libtorrent-rasterbar” hinzu:

IgnorePkg   = libtorrent-rasterbar

Probe auf’s Exempel:

$ sudo pacman -Syyu
(...)
:: Starting full system upgrade...
warning: libtorrent-rasterbar: ignoring package upgrade (1:1.2.8-1 => 1:1.2.10-1)
 there is nothing to do

Vergessen kann man’s so nicht. Man sollte die Sache natürlich im Auge behalten, d.h., bei einem Fix das Paket wieder auf unhold setzen.

Update 2020-09-23: “1:1.2.10-2” enthält einen Fix, funktioniert → libtorrent-rasterbar wieder aus IgnorePkg entfernen!

Neo2 unter Xubuntu

Man (also ich, grin) löst bekanntlich gern IT-Probleme anderer. Als Stichwortgeber dazu kann uude sehr vereinzelt noch herhalten (dessen Forum ist ansonsten längst nicht mehr auf absteigendem Ast, sondern schlichtweg im Loch, muß nur noch wer zuschaufeln, das einstmals gute Wiki verödet auch nur noch).

Ein User kann das sehr spezielle Keyboard-Layout Neo2 unter Xubuntu 20.04 nicht laden, weder live noch im installierten System. Bereits für XBionic hat er dazumal einen Bugreport verfaßt gehabt.

Read more “Neo2 unter Xubuntu”