Manjaro: Plymouth-Bootscreen reparieren

Falls bei einem statt einem schicken Plymouth-Bootscreen nur ein schwarzer Bildschirm durch den Bootvorgang begleitet, kann das daran liegen, dass das für den Grafikchip notwendige Kernel-Modul nicht geladen wurde.

Zuerst müssen wir per sudo lspci -k | grep -EA3 'VGA|3D|Display' herausfinden, welches Modul benötigt wird. In meinem Fall sieht die Ausgabe so aus:

00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
DeviceName: Onboard IGD
Subsystem: CLEVO/KAPOK Computer Device 0945
Kernel driver in use: i915

In der letzten Zeile ist die Information, die wir benötigen. Das Kernel-Modul heißt hier i915.

Nun editieren wir die Datei /etc/mkinitcpio.conf und fügen dort in die Zeile „MODULES=“ den Namen des benötigten Kernel-Moduls ein, so das die Zeile anschließend so aussieht:

MODULES="i915"

Zum Schluss müssen noch die Kernel-Images neu erstellt werden, damit unsere Änderung ab dem nächsten Neustart angewendet wird. Das machen wir mit dem Kommando

sudo mkinitcpio -P

Ab dem nächsten Boot sollte Euch ein schicker Plymouth-Bootscreen den Startvorgang Eures Systems versüßen

ältere FritzBox Modelle unter Nautilus 3.36 per SMB einbinden

Wer eine ältere FritzBox benutzt, die nicht mehr mit FritzOS >= 7.0 versorgt wurde/wird. hat unter Manjaro das Problem, das man zumindest unter Gnome 3.36 nicht mehr per Samba auf die FritzBox zugreifen kann.

Grund dafür ist, das ältere FritzBox Modelle nur Samba 1 unterstützen, während bei Gnome anscheinend automatisch Samba 2.0 verwendet wird, was dazu führt, das jeder Versuch, sich per SMB mit der Fritzbox zu verbinden, mit einer Fehlermeldung quittiert wird.

Um das Problem zu lösen, muss lediglich in der Datei /etc/samba/smb.conf im Bereich [global] die Zeile

client min protocol = NT1

eingefügt werden. Falls die Datei nicht existiert, kann sie einfach per

sudo touch /etc/samba/smb.conf 

angelegt werden.

TeamViewer unter Manjaro nutzen

Wer den TeamViewer aus dem AUR installiert hat, steht beim ersten Start oft vor dem Problem, das der TeamViewer am unteren Rand die Meldung

Nicht bereit. Bitte prüfen Sie Ihre Internetverbindung.

anzeigt.

TeamViewer ohne gestarteten Daemon

Das Problem ist relativ einfach zu lösen. TeamViewer installiert einen eigenen Daemon, der die Verbindungen abwickelt, aber nach der Installation nicht automatisch gestartet wird.

Um den Daemon zu starten kann man entweder

sudo systemctl start teamviewerd

oder

sudo systemctl enable teamviewerd && sudo systemctl start teamviewerd 

ausführen.

Der erste Befehl startet die systemd Unit des Daemon und muss vor jedem Start des TeamViewer erneut ausgeführt werden. Der zweite Befehl aktiviert den automatischen Start der Unit und startet diese anschließend. Dieser Befehl muss im Gegensatz zum ersten nur einmal ausgeführt werden.

TeamViewer mit gestarteten Daemon

Welchen Befehl man nutzt hängt hauptsächlich davon ab, wie oft man den TeamViewer nutzen möchte – und von der eigenen Bequemlichkeit 😉

Auf zu neuen (Linux-)Ufern

Nachdem sich mein Fedora beim Versuch, auf Fedora 29 Beta zu aktualisieren, quasi selber zerlegt hat, indem das Notebook sich während des Updates abgeschaltet hat, weil der Stecker der Dockingstation nicht richtig eingesteckt war, habe ich beschlossen mal etwas neues zu wagen.

Nach beinahe 10 Jahren mit Fedora möchte ich mal eine neue Distribution ausprobieren. Aber nicht wieder CentOS oder etwas anderes, das auf RHEL oder SUSE basiert. Das hatte ich ja schon einmal.

Nein, diesmal sollte es etwas völlig anderes sein und irgendwie habe ich auch schon immer ein wenig mit Arch-Linux geliebäugelt.  Da die Installation und Konfiguration von Arch aber durchaus eine Herausforderung sein kann, habe ich mich dann jedoch für Manjaro entschieden. Basiert auf Arch, ist aber deutlich einfacher zu installieren und konfigurieren. Zumindest in der Theorie – dazu jedoch später mehr.

Zuerst einmal musste ich mein Fedora wieder soweit lauffähig bekommen, das ich mein Home-Verzeichnis auf meiner externen USB-Festplatte sichern konnte. Was dann auch recht zügig von statten ging. Hinterher noch ein kurzes Diff, um sicher zu gehen, da auch wirklich alle Dateien gesichert wurden und dann kann es auch schon los gehen, mit Manjaro.

Oder auch nicht. Nachdem die Live-CD erfolgreich gebootet war und der Installer den Auftrag bekam, für die Installation von Manjaro, die vorhandenen Fedora-Partitionen zu löschen, kam die erste Ernüchterung: der Installer erklärte mir in wenigen Worten, das er nicht in der Lage war, die Partitionen zu löschen.

Glücklicherweise enthält die Live-CD GParted und die Partitionen wurden dann kurzerhand und völlig humorlos manuell gelöscht. Im zweiten Anlauf verrichtete der Installer sein Werk auf der nun quasi jungfäulichen Festplatte ohne weitere Probleme.

Zum Schluss mussten nach dem Neustart noch die üblichen Dinge erledigt werden:

  • benötigte Daten von der USB-Platte zurück kopieren
  • fehlende Programme sowie verfügbare Updates installieren.

Wobei das mit den fehlenden Programmen auch etwas komplizierter als zuerst gedacht war, weil es diese nur im AUR (Arch User Repository) gibt, was bedeutet, das diese Programme über ein separates Programm heruntergeladen, lokal compiliert und installiert werden müssen.

Abschließend kann ich schon jetzt sagen, das sich Manjaro sehr schnell anfühlt, was den Bootvorgang angeht und auch sonst einen sehr angenehmen Eindruck hinterlässt.

Prospekt von real bequem lokal lesen

Jedem, dem dieser in Flash programmierte Viewer für den Wochenprospekt von real auf die Nerven geht, kann sich den Prospekt unter Linux mit einem simplen Einzeiler herunterladen und mit dem PDF-Betrachter seines Vertrauens öffnen:

evince http://shared.real.de/blaetterkatalog/pageflipdata/kataloge/KW$(date +%V)/Handzettel/50322/pdf/50322_KW$(date +%V)_Handzettel.pdf

Das sich die URL bis auf die jeweilige Kalenderwoche nicht weiter ändert, macht es sehr einfach, da es die Bash erlaubt, Befehle quasi in einen anderen Befehl einzubetten, was durch das Dollar-Zeichen und die darauf folgenden Klammern signalisiert wird. Die Kalenderwoche selber wird schnell und schmerzlos durch das

date +%V

errechnet.

Natürlich kann man auch einen anderen PDF-Betrachter als evince nutzen, sofern man das möchte 😉

git Repositories schnell und bequem aktualisieren

Wer mehrere lokale git Repositories auf seinem Rechner liegen hat, weiß sicher, welche „Freude“ es macht, diese auf dem aktuellen Stand zu halten.

Mit ein wenig Shell-Script geht das jedoch ganz leicht von der Hand und weh tut es auch nicht 😉

#! /bin/bash

PRJDIR="$HOME/Projekte"

cd $PRJDIR
for REPO in $(find -name .git -type d | sort); do
    cd $PRJDIR
    DIR=$(dirname $REPO)
    REPOPATH=$(realpath $DIR)
    REPONAME=$(basename $REPOPATH)

    cd "$REPOPATH"
    echo "Aktualisiere $REPONAME"
    UPSTREAM=$(git remote -v | grep ups)
    if [ -n "$UPSTREAM" ]; then
        echo "Synchronisiere mit Upstream"
        git fetch upstream
        git checkout master
        git merge upstream/master
        git push
    else
        git pull
    fi
    echo
done

ggf. muss man die Variable $PRJDIR in Zeile 3 des Scriptes anpassen, sofern die git Repositories sich an einem anderen Ort befinden.

gpg Schlüsselbund mit systemd regelmäßig aktualisieren

Neben dem klassischen Crontab bietet seit einiger Zeit auch systemd mittels so genannter Timer die Möglichkeit, Aufgaben regelmäßig auszuführen.

Wenn man beispielsweise seinen gpg Schlüsselbund regelmäßig aktualisieren möchte (was dringend zu empfehlen ist), dann kann man dies entweder mittels crontab erledigen, oder man nutzt systemd’s Timer für die Aufgabe.

Dafür muss man zuerst unter ~/.config/systemd/user/ eine systemd Unit gpg-update.service mit folgendem Inhalt anlegen:

[Unit]
Description=Update keys in local keyring

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/gpg – refresh-keys

[Install]
WantedBy=basic.target

Als nächstes wird im selben Verzeichnis noch der systemd Timer gpg-update.timer mit folgendem Inhalt angelegt:

[Unit]
Description=Update keys in local keyring
 
[Timer]
OnCalendar=hourly
Persistent=true
Unit=gpg-update.service
 
[Install]
WantedBy=gpg-update.service

In diesem Beispiel wird der Timer stündlich ausgeführt. Es kann jedoch auch ein anderes Interval verwendet werden.

Im nächsten Schritt wird dann noch der neu angelegte Timer aktiviert und gestartet

systemctl – user enable gpg-update.timer
systemctl – user start gpg-update-timer

Um zu prüfen, ob alles wie gewollte funktioniert hat, kann man dies mit folgendem Befehl überprüfen:

systemctl – user status gpg-update.timer

Sollte im Status des Timers unter dem Punkt Active nicht active (waiting) stehen, sollte man mittels journalctl -xe einen Blick in das Journal werfen um der möglichen Fehlerursache auf die Schliche zu kommen.