Fryboyter

Sddm - Nur auf einem Monitor anmelden

Achtung dieser Artikel löst ein Luxusproblem! An meinem Hauptrechner sind zwei Monitore angeschlossen und als Display Manager nutze ich SDDM. SDDM hat bei mehreren Monitoren die Angewohnheit, auf allen Monitoren das Gleiche angezeigt, so dass man sich prinzipiell über jeden Monitor anmelden kann. Mich nervt das aber irgendwie; zumal ich mich immer an dem Monitor anmelde der direkt vor mir steht. Wie gesagt, ein Luxusproblem.

SDDM sieht es selbst aktuell nicht vor, dass die Eingabemaske nur auf einem Monitor erscheint. Also ist wieder Handarbeit nötig. Hierfür benötigt man das Tool xrandr. Unter Arch hat das Paket die Bezeichnung xorg-xrandr.

Mittels xrandr | grep ' connected' lässt man sich als erstes die angeschlossenen Monitore anzeigen und sucht sich denjenigen heraus, den man unter SDDM nicht nutzen will. Bei mir ist das relativ leicht, da dieser die geringere Auflösung hat. Nehmen wir einmal folgendes Beispiel

(Standardeingabe):20:DP-4 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm

Der Monitor ist in diesem Fall also über den Anschluss DP-4 angeschlossen. Nun erstellt man das Script /usr/share/sddm/scripts/Xsetup und trägt folgendes ein.

#!/bin/sh
xrandr --output DP-4 --off

DP-4 muss man natürlich an die eigenen Gegebenheiten anpassen.

Nun trägt man noch folgendes in die Datei /etc/sddm.conf ein (wenn die Datei nicht vorhanden ist, einfach anlegen).

[XDisplay]
DisplayCommand=/usr/share/sddm/scripts/Xsetup

Bootet man den Rechner nun neu, sollte der im Script genannte Monitor bei Einloggen nichts mehr anzeigen. Sobald man sich angemeldet hat, ist der Monitor aber wieder automatisch nutzbar.

OSBN | Linux

BIOS eines Thinkpads aktualisieren

Ich habe hier ein Thinkpad vor mir liegen bei dem aufgrund einer Sicherheitslücke ein Update des BIOS / UEFI nötig ist. Lenovo bietet zwar eine entsprechende Iso-Datei zum Download an aber diese lässt sich unter Linux nicht einfach so auf einen USB-Stick kopieren. Die Lösung ist allerdings recht einfach.

Als erstes besorgt man sich bei Lenovo die Iso-Datei der Boot-CD für sein Thinkpad. Nehmen wir beispielsweise die, die man hier herunterladen kann.

Als nächstes installiert man sich das Script geteltorito.pl. Bei Arch findet man es im AUR. Alternativ findet man es hier.

Mit diesem extrahiert man mit folgendem Befehl das El-Torito-Boot-Image aus der Iso-Datei.

geteltorito.pl -o bios.img g2uj33us.iso

Die Bezeichnung der Iso-Datei muss man ggf. anpassen.

Abschließend schreibt man mit folgendem Befehl die Img-Datei auf den USB-Stick.

dd bs=64K if=/pfad/zu/bios.img of=/dev/sdX status=progress oflag=sync

Den Teil mit if= und of= muss man an die eigenen Gegebenheiten anpassen. Alternativ kann man auch Tools wie Etcher nutzen.

Nun sollte man von dem USB-Stick booten und das BIOS / UEFI aktualisieren können.

OSBN | Linux

Borg-Repository auf rsync.net komplett prüfen

Für meine “Offside-Backups” benutze ich Borg und rsync.net. Heute wollte ich meine bei rsync.net gespeicherten Datensicherungen einmal komplett überprüfen.

borg check -v --verify-data XXXXX@ch-s010.rsync.net:MeinRepository

Leider bricht der Befehl schlussendlich immer mit der Fehlermeldung “Borg server is too old for scan. Required version 1.1.0b3” ab. Scheinbar verwendet rsync.net von Haus aus eine ältere Version von Borg. Auf der Internetseite kann man aber nachlesen, dass Version 0.29 und 1.x unterstützt werden. Also sollte es doch möglich sein, die aktuelle Version 1.x zu nutzen. Wie so oft hilft RTFM weiter. Es gibt die Variable BORG_REMOTE_PATH. Mit dieser kann man angeben welche Version von Borg auf dem Server verwendet werden soll. Im Fall von rsync.net muss man den bereits genannten Befehl wie folgt ändern, damit man Version 1.x von Borg verwendet.

borg check -v --verify-data --remote-path=/usr/local/bin/borg1/borg1  XXXXX@ch-s010.rsync.net:MeinRepository

Anstelle den Parameter –remote-path= zu verwenden, kann man das ganze auch allgemeiner mit “export BORG_REMOTE_PATH=/usr/local/bin/borg1/borg1” angeben. Für Scripte dürfte das die bessere Lösung darstellen.

Vor der Nutzung von –verify-data muss ich abschließend aber noch warnen. Hierbei wird sozusagen alles auf Herz und Nieren geprüft. Und das dauert. In dem Repository das ich für den Test verwendet habe, sind nur knapp 3 GB Daten vorhanden. Bis alles getestet worden ist, sind einige Stunden vergangen. Für allgemeine Prüfungen sollte man daher andere Einstellungen wählen.

OSBN | Linux

Windows leichter mit Syslinux starten

Wenn man mit dem Bootloader syslinux neben Linux auch Windows starten will, erfolgt dies bei Festplatten mit MBR (nicht GPT!) beispielsweise über folgenden Eintrag in der Datei /boot/syslinux/syslinux.cfg.

...
LABEL windows
	MENU LABEL Windows
	COM32 chain.c32
	APPEND hd0 3
...

Hd0 ist in diesem Fall die erste vom BIOS/UEFI erkannte Festplatte. Und 3 bezieht sich auf die dritte Partition auf dieser Festplatte. Was aber wenn man mehrere Festplatten installiert hat und Windows nicht auf der gleichen Platte wie Linux installiert ist? Man müsste herausfinden in welcher Reihenfolge das BIOS/UEFI die Festplatten erkennt. Hierbei muss man beachten, dass Festplatten ab 0 gezählt werden, Partitionen aber ab 1. Also warum das ganze nicht etwas einfacher lösen?

Mit dem Befehl “fdisk -l” lässt man sich zuerst die ganzen vorhandenen Festplatten anzeigen und sucht sich dann die Festplatte, auf der Windows installiert ist, heraus. Sollte man wissen auf welcher Festplatte Windows installiert ist, kann man sich diese auch direkt mit beispielsweise “fdisk -l /dev/sde” anzeigen lassen. Das sieht dann beispielsweise wie folgt aus.

Festplatte /dev/sde: 238,49 GiB, 256060514304 Bytes, 500118192 Sektoren
Festplattenmodell: Crucial_CT256MX1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x0000d958

Gerät      Boot    Anfang      Ende  Sektoren  Größe Kn Typ
/dev/sde1  *         2048    206847    204800   100M  7 HPFS/NTFS/exFAT
/dev/sde2          206848 499123111 498916264 237,9G  7 HPFS/NTFS/exFAT
/dev/sde3       499124224 500113407    989184   483M 27 Verst. NTFS WinRE

Wichtig ist hier im Grunde nur der Festplattenbezeichner. Diesen merken wir uns und ändern den Eintrag von Windows in der Konfigurationsdatei von syslinux wie folgt ab.

...
LABEL windows
	MENU LABEL Windows
	COM32 chain.c32
	APPEND mbr:0x0000d958
...

Mit diesem Eintrag sollte man Windows nun problemlose per Chainloading starten können.

OSBN | Linux

Präsentation mit Hovercraft erstellen

Ich habe mich leider mal wieder breitschlagen lassen eine Präsentation zu halten, obwohl ich es hasse. Um nicht schon bei der Erstellung der Präsentation als nervliches Wrack zu enden, nutze ich Hovercraft.

Hiermit erstellt man mittels reStructuredText Impress.js-Präsentationen. Somit kann eine Seite der Präsentation zum Beispiel wie folgt aussehen.

The problem:
============

Making presentations is no *fun!*
---------------------------------

.. note::

    Welcome to the presenter console!

----

Das ganze ist also ziemlich idiotensicher. Bei Fragen lohnt sich ein Blick in die offizielle Dokumentation. Ist man mit seiner Präsentation fertig, erstellt man mittels “hovercraft Hovercraft-Datei Zielverzeichnis” einfach die Präsentation im HTML5-Format, welche im Grunde genommen mit jedem halbwegs aktuellen Browser anzeigbar ist.

Damit man sich einen visuellen Überblick verschaffen kann, bieten die Entwickler von Hovercraft eine Demo-Präsentation an.

Wer die Präsentation den Teilnehmern als PDF-Datei zur Verfügung stellen will, kann dies zum Beispiel mit rst3pdf machen.

Linux | OSBN