Fryboyter

WLAN-Verbindung unter KDE Plasma auf 5 GHz umstellen

Ein Notebook ist mit einem WLAN verbunden das sowohl 2,4 als auch 5 Ghz unterstützt. Es verbindet sich allerdings immer nur mit 2,4 Ghz. Der Grund hierfür könnte sein, dass keine BSSID oder die falsche hinterlegt wurde.

Unter KDE Plasma ruft man hierfür die Systemeinstellungen (systemsettings5) auf und klickt in der linken Spalte im Bereich Netzwerk auf Verbindungen. Beim betreffenden WLAN öffnet man den Reiter Wi-Fi und wählt bei BSSID den Eintrag mit 5 Ghz aus (z. B. Frequenz: 5.180 Mhz). Nun klickt man noch auf Anwenden und trennt anschließend die WLAN-Verbindung und baut sie neu auf. Nun sollte die Netzwerkverbindung über 5 Ghz aufbauen.

Linux | OSBN

AUR-Pakete wegen Python-Update neu erstellen

Als ich eben die über AUR installierte Software aktualisieren wollte, habe ich folgende Fehlermeldung erhalten.

Der Vorgang konnte nicht durchgeführt werden (In Konflikt stehende Dateien)
tortoisehg: /usr/lib/python3.9/site-packages/hgext3rd/__init__.py existiert im Dateisystem (gehört zu mercurial)
tortoisehg: /usr/lib/python3.9/site-packages/hgext3rd/__pycache__/__init__.cpython-39.pyc existiert im Dateisystem (gehört zu mercurial)
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.

Die Ursache ist, dass in den offiziellen Paketquellen von Arch Linux Python auf Version 3.10 aktualisiert wurde. Was es leider nötig macht die Pakete, die Python nutzen und über AUR installiert wurden, neu zu erstellen.

Als Erstes sollte man mittels pacman -Syu die Pakete aus den offiziellen Paketquellen aktualisieren.

Um sich nun die betroffenen Pakete im AUR anzusehen, kann man folgenden Befehl ausführen.

pacman -Qqo /usr/lib/python3.9 | pacman -Qm -

In meinem Fall werden drei Pakete angezeigt, die ich neu erstellen muss. Wer als AUR-Helper paru verwendet, kann diese mit folgendem Befehl automatisch neu erstellen. Mit anderen AUR-Helpern die eine Rebuild-Funktion anbieten sollte es vergleichbar funktionieren.

pacman -Qoq /usr/lib/python3.9 | pacman -Qmq - | paru -S --rebuild -

Führt man den Befehl nun spaßeshalber noch einmal aus, sollte man die Meldung “Fehler: Kein Paket besitzt /usr/lib/python3.9” erhalten.

Und ja, das ist einer der Nachteile an AUR. Dafür lassen sich die dortigen Rezepte leichter prüfen als beispielsweise fertige Pakete aus einem PPA. Und leichter erstellen lassen sie sich in der Regel auch.

Linux | OSBN

Front Matter - CMS für statische Website-Generatoren

Viele Nutzer entdecken für ihre Internetseiten immer öfter statische Website-Generatoren, da bei diesen der Wartungsaufwand im Vergleich zu beispielsweise WordPress sehr gering ist. Ich selbst nutze deswegen seit 2019 Hugo.

Um einen neuen Artikel anzulegen, starte ich VS Code, lege ein neues Verzeichnis unter content/posts an und kopiere bei Bedarf Bilder in dieses Verzeichnis, die in dem Beitrag angezeigt werden sollen. Danach erstelle ich die Datei index.md und erstelle in dieser mittels eines Snippet den Front-Matter-Bereich, den ich entsprechend anpasse. Unter diesen Bereich erstelle ich dann den eigentlichen Artikel. Abschließend werden diese Änderungen in ein Mercurial-Repository hochgeladen, was mittels eines Hooks den Inhalt von fryboyter.de erzeugt und die Änderungen zusätzlich mittels Hg-Git bei Github hochlädt.

An sich habe ich damit kein Problem. Es funktioniert. Und die Vorgänge kann ich inzwischen auswendig durchführen. Aber ab und zu wäre für mich etwas mehr Komfort trotzdem schön. Das gilt auch für Nutzer, die bei meinem “Workflow” schreiend wegrennen würden. Also vermutlich die meisten Nutzer.

Vor ein paar Tagen habe ich Front Matter entdeckt. Hierbei handelt es sich um eine Erweiterung für VS Code die ein CMS für diverse statische Website-Generatoren direkt in VS Code anbietet. Neben Hugo werden auch noch andere Generatoren wie beispielsweise Jekyll, Gatsby, 11ty, Hexo oder Next.js unterstützt.

Aus zeitlichen Gründen habe ich bisher die Erweiterung nur installiert und die Grundkonfiguration erstellt. Ausgehend davon muss ich aber sagen, dass Front Matter einige Dinge sehr vereinfacht bzw. bequemer macht. Wenn man sich die Dokumentation durchliest, sollten aber durchaus komplexere Dinge möglich sein. Ich würde daher jedem, der einen statischen Website-Generator und VS Code nutzt, raten sich Front Matter zumindest einmal anzusehen. Über den eigenen Tellerrand zu schauen ist ja oft nicht verkehrt.

OSBN

PeaZip unter Wayland starten

Aus reiner Neugierde wollte ich mir das Packprogramm PeaZip ansehen. Direkt nach dem Starten ist das Programm mit folgender Fehlermeldung abgestürzt.

[FORMS.PP] ExceptionOccurred 
  Sender=EAccessViolation
  Exception=Access violation
  Stack trace:
  $00000000007438D3
  $0000000000723049
  $00000000008ADC66
  $00000000008AD5FC
  $00000000008A9415
  $00000000007B3EFB
  $00000000007B3E02
  $0000000000448D9D
  $0000000000447B43
[FORMS.PP] ExceptionOccurred 

Die Ursache ist Wayland. PeaZip ist damit wohl noch nicht wirklich kompatibel. Daher muss man PeaZip mit dem x11 backend starten. Führt man also QT_QPA_PLATFORM=xcb peazip aus, startet PeaZip ohne Probleme.

OSBN | Linux

Zeichenkette an bestimmter Position in einer Datei einfügen

In einem Hauptverzeichnis sind diverse Dateien in Unterverzeichnissen vorhanden. In jeder dieser Dateien soll die gleiche Zeichenkette in die gleiche Zeile eintragen werden ohne das eine bereits vorhandene Zeile überschrieben wird. Nehmen wir als Beispiel einmal einen Front-Matter-Bereich eines der hier veröffentlichten Artikel.

---
title: WLAN-USB-Stick Cudy WU1300S unter Linux
date: 2021-05-02T16:49:00+0200
categories:
- OSBN
- Linux
tags:
- WLAN
- USB
slug: wlan-usb-stick-cudy-wu1300S-unter-linux
---

Was tun, wenn man nun beispielsweise zwischen der Zeile mit dem Datum und der Kategorie eine Zeile mit include_toc: true eintragen will? Am einfachst und aufwändigsten wäre es jede Datei händisch anzupassen. Da es sich aber um Dateien im drei- oder vierstelligen handelt, ist das keine gute Idee.

Um Dateien zu ändern, kann man das Tool sed nutzen, was eines der “Urgesteine” unter Linux ist.

sed -i'4 i include_toc: true' Dateiname 

Die 4 gibt hierbei die gewünschte Zeile an. Das i dahinter steht für insert. Also einfügen.

Wer das ganze erst einmal testen will, ohne dass die Datei geändert wird, kann einfach -i bei dem Befehl entfernen. Dann wird der Inhalt der Datei inklusive der Änderung ausgegeben, ohne die Änderung zu speichern.

Bleibt nur noch wie man den Befehl auf alle betreffenden Dateien automatisch anwendet. Hier reicht, wie so oft, eine einfache Schleife.

#/bin/bash
for i in $(find posts -name '*.md');
do
    sed -i '4 i include_toc: true' $i
done;

Hiermit wird im aktuellen Verzeichnis sowie in den darin vorhandenen Unterverzeichnissen nach Dateien mit der Endung .md (Markdown-Dateien) gesucht. Diese werden dann mit dem sed Befehl entsprechend geändert.

OSBN | Linux