Alpine Linux

Alpine Linux mit Xfce

Gastbeitrag von Lioh Möller

Die leichtgewichtige Distribution Alpine Linux dürfte den meisten wohl aus dem Umfeld von Docker-Containern bekannt sein. Doch nicht nur dort erfreut sie sich großer Beliebtheit, auch als Desktop-System verrichtet sie gute Dienste. Alpine unterscheidet sich dabei in einigen Punkten grundsätzlich von anderen Linux-Distributionen. So kommt BusyBox anstelle der üblicherweise verwendeten GNU-Toolchain zum Einsatz. Anwendungen werden mittels der musl-Bibliothek anstelle der glibc aus dem Quelltext übersetzt und als Init-System findet des aus dem Gentoo-Projekt bekannten Init-Systems OpenRC Verwendung. Die Installation erfolgt mithilfe des Standard-Installationsmediums für die passende Prozessorarchitektur.

Installation

Nachdem Start des Systems anhand des ISO-Images wird dem Nutzer eine tty präsentiert, an der man sich mithilfe des Benutzers root ohne die Eingabe eines Passwortes anmelden kann.

Dabei ist zu bedenken, dass bis zu diesem Zeitpunkt das US-Tastaturlayout zum Einsatz kommt.

Die Installation erfolgt durch den Aufruf des Befehls setup-alpine. Es handelt sich dabei um einen textbasierten Assistenten, welcher den Anwender durch die notwendigen Schritte führt.

Zu Beginn kann das passende Tastaturlayout ausgewählt werden. Für Deutschland und Österreich wäre dies de und für die Schweiz ch.

Im darauffolgenden Schritt kann die Tastaturvariante definiert werden. Für Deutschland und Österreich lautete diese de-nodeadkeys und für die Schweiz ch-de_nodeadkeys.

Sobald die Einstellungen vorgenommen wurden, steht das gewählte Tastaturlayout im weiteren Verlauf der Installation und auf dem installierten System in der tty zur Verfügung.

Daraufhin wird der Hostname abgefragt. In diesem Beispiel wird alpinelinux.domain.example gewählt.

Das System erkennt die vorhandenen Netzwerkinterfaces automatisch und bietet diese zur Auswahl an. Im Folgenden gehen wir von einer Ethernet-Verbindung über das Device eth0 aus.

Sofern keine statische IP-Adressvergabe erfolgt, kann dhcp zur Konfiguration gewählt werden. In diesem Falle kann auf eine manuelle Netzwerkkonfiguration verzichtet werden.

Nach dem Bezug der IP-Adressinformationen wird man zur Eingabe des Root-Passwortes aufgefordert. Dieses wird während des Tippens aus Sicherheitsgründen nicht angezeigt. Das Passwort muss daraufhin ein 2. Mal eingegeben werden.

Sofern die BIOS-Uhr des Systems auf UTC eingestellt ist, kann dies auch als Zeitzone ausgewählt werden. Andernfalls kann wahlweise Europe/Berlin, Europe/Vienna oder Europe/Zurich angegeben werden.

Sofern kein Proxyserver im Netzwerk zum Einsatz kommt, kann auf die Eingabe dessen verzichtet werden.

Als NTP Client empfiehlt sich die Verwendung von busybox, da dieser sehr performant ist.

Im nächsten Schritt wird eine Liste von Spiegelservern zur Installation ausgegeben. Die Ausgabe kann man durch die Eingabe von q beenden. Die Spiegel sind mit Nummern versehen, es empfiehlt sich die Auswahl 1 beizubehalten, da es sich dabei um das Content-Delivery-Network des Projektes handelt.

Nun ist erhöhte Aufmerksamkeit erfordert, denn es geht um die Einrichtung eines regulären Benutzerkontos. Dies wird zur Nutzung als Desktopsystem empfohlen. Allerdings erwartet die Frage ‘Setup a user?’ als Antwort nicht yes, sondern direkt den Nutzernamen in Kleinbuchstaben.

Daraufhin kann der vollständige Name des zu erstellenden Benutzers angegeben und ein Passwort vergeben werden.

Die Frage nach einem SSH-Schlüssel oder einer URL kann mit none verneint werden.

Im Folgenden wird erfragt, welche Variante des SSH Servers installiert werden soll. Hier empfiehlt es sich die Vorauswahl openssh beizubehalten, da dieser für seine herausragende Sicherheit bekannt ist.

Nun muss eine Festplatte gewählt werden, auf die Alpine Linux installiert werden soll. Es wird eine Liste mit erkannten Laufwerken ausgegeben. Die Frage muss mit dem Namen des Laufwerkes beantwortet werden, beispielsweise sda.

Alpine bietet unterschiedliche Partitionierungsvarianten zur Auswahl an. Eine Erklärung dazu lässt sich mit ? ausgeben. Im Folgenden gehen wir von der Verwendung der Variante sys aus, welche eine Boot- eine Root- und eine SWAP-Partition erstellt.

Die Partitionierung muss mit y bestätigt werden. Daraufhin wird das System übertragen und nach erfolgreicher Installation kann ein Neustart durch die Eingabe von reboot ausgelöst werden.

Zu diesem Zeitpunkt kann das Laufwerk mit dem Installationsmedium entfernt werden.

Xfce-Desktop

Nach dem Neustart und der Anmeldung an dem neu installierten System mit dem Benutzer root und dem zuvor vergebenen Passwort kann mit der Grundkonfiguration begonnen werden.

Zunächst kann die Desktopumgebung der Wahl installiert werden. Dazu kann das Hilfsprogramm setup-desktop genutzt werden. Ohne Angabe von Parametern (Beispiel: setup-desktop xfce), wird GNOME, Plasma und Xfce zur Auswahl angeboten. In diesem Beispiel wird xfce gewählt.

Um auch unter der grafischen Oberfläche das korrekte Tastaturlayout nutzen zu können, wird eine entsprechende Konfigurationsdatei erstellt.

mkdir /etc/X11/xorg.conf.d
vi /etc/X11/xorg.conf.d/00-keyboard.conf

Deutschland / Österreich:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "de"
        Option "XkbVariant" "nodeadkeys"
EndSection

Schweiz:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "ch"
        Option "XkbVariant" "de_nodeadkeys"
EndSection

Audio

Um unter Xfce die Lautstärke steuern zu können, werden die zusätzlichen Pakete xfce4-pulseaudio-plugin und pavucontrol benötigt:

apk add xfce4-pulseaudio-plugin pavucontrol

Das moderne Audio-Framework PipeWire kann wie folgt hinzugefügt werden:

apk add pipewire wireplumber gst-plugin-pipewire

Sprachunterstützung

Bei Alpine Linux kommt statt glibc musl zum Einsatz. Die Sprachunterstützung erfordert die Installation zusätzlicher Pakete:

apk add musl-locales

Mithilfe von folgendem Befehl werden alle Sprachpakete der bereits installierten Anwendungen hinzugefügt:

apk add lang

Für einige Applikationen wie LibreOffice lauten die Sprachpakete auf die Endung des Language Codes, also beispielsweise -de.

LibreOffice kann mit deutscher Sprachunterstützung wie folgt installiert werden:

apk add libreoffice libreoffice-lang-de

Die Konfiguration der zu nutzenden Sprache erfolgt in der Datei /etc/profile.d/20locale.sh.

vi /etc/profile.d/20locale.sh

Dabei muss die Variable LANG angepasst werden.

Deutschland / Österreich:

LANG=de_DE.UTF-8

Schweiz:

LANG=de_CH.UTF-8

Alle verfügbaren Locales lassen sich wie folgt anzeigen:

ls /usr/share/i18n/locales/musl

Zusatzpakete

Da es sich bei Alpine Linux um eine minimalistische Distribution handelt, wird empfohlen, einige weitere grundlegende Pakete zu installieren:

apk add sed grep vim util-linux pciutils usbutils binutils findutils readline lsof less nano curl mlocate file

Man-Pages werden in der Grundinstallation nicht mit ausgeliefert und können wie folgt nachinstalliert werden:

apk add man-pages mandoc

Die Dokumentation für alle installierten Pakete lässt sich wie folgt installieren:

apk add docs

Weitere Desktopanwendungen können wie folgt installiert werden:

apk add thunderbird inkscape gimp hexchat vlc-qt xdg-user-dirs xfce4-screenshooter

Mithilfe von apk search SUCHBEGRIFF können Pakete gesucht werden. Alternativ dazu kann die Online-Paketsuche zurate gezogen werden.

BASH

Standardmäßig kommt bei Alpine Linux die ash Shell zum Einsatz. Um stattdessen BASH zu nutzen, muss zunächst die Shell und das benötigte Paket zur Konfiguration (shadow) installiert werden. Für die Auto-Vervollständigung im Terminal kann darüber hinaus das bash-completion Paket hinzugefügt werden:

apk add bash bash-completion shadow

Die Änderung erfolgt daraufhin mit dem folgenden Befehl, wobei BENUTZERNAME durch den eigenen Benutzernamen ersetzt werden muss:

chsh BENUTZERNAME

Dabei wird zunächst das Passwort des Root-Benutzers abgefragt

Die Angabe der Shell erfolgt in der Form /bin/bash

doas

Alpine Linux nutzt doas anstatt sudo. Zum Ausführen eines Kommandos mit Root-Rechten kann doas vorangestellt werden. Mitglieder der Gruppe wheel sind zur Nutzung von doas berechtigt.

Alternativ kann sudo wie folgt installiert werden:

apk add sudo

Mithilfe von visudo kann die Konfiguration bearbeitet werden und die Gruppe wheel ebenfalls zur Nutzung von sudo berechtigt werden.

NetworkManager

Zur Nutzung von NetworkManager zur Netzwerkverwaltung müssen zunächst die benötigten Pakete installiert werden:

apk add networkmanager networkmanager-wifi networkmanager-tui network-manager-applet iwd

Daraufhin kann die NetworkManager-Konfigurationsdatei /etc/NetworkManager/NetworkManager.conf angepasst werden.

vi /etc/NetworkManager/NetworkManager.conf

[main]
dhcp=internal
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=yes
wifi.backend=iwd

Der Service wird beim Systemstart wie folgt aktiviert und das Standard-Netzwerkbackend sowie wpa_supplicant deaktiviert:

rc-update add networkmanager
rc-update del networking boot
rc-update del wpa_supplicant boot

Nach einem Neustart sollte ein Verbindungsaufbau über NetworkManager möglich sein.

Flatpak

Auch Flatpak steht für Alpine Linux zur Verfügung und lässt sich wie folgt installieren:

apk add flatpak

Als regulärer Benutzer kann daraufhin das Flathub-Remote hinzugefügt werden:

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Grafikkarten

Je nach verwendeter Grafikkarte sind einige Schritte notwendig. Im Wiki des Projektes stehen Informationen für Intel, AMD und NVIDIA Grafikkarten zur Verfügung.

Aktualisierung

Alpine Linux lässt sich über folgende Befehle aktuell halten:

apk update
apk upgrade

Zusammenfassen lässt sich dies wie folgt:

apk -U upgrade

Die zu nutzenden Paketquellen werden in der Datei /etc/apk/repositories definiert.

Dist-Upgrade

Bei dem Erscheinen einer neuen Version muss lediglich die Versionsnummer in der Datei /etc/apk/repositories angepasst werden. (Beispielsweise v3.17 durch v3.18)

Weiter Informationen zu den Release-Zweigen von Alpine Linux finden sich im Wiki des Projektes.

Ein Dist-Upgrade kann daraufhin wie folgt ausgeführt werden:

apk add --upgrade apk-tools
apk upgrade --available

Die Option –available forciert eine Aktualisierung aller installierten Pakete.

Theme

Unter Xfce werden die Adwaita Theme sowie einige Symbole nicht korrekt angezeigt, sofern nicht die Pakete adw-gtk3 und adwaita-xfce-icon-theme. installiert wurden:

apk add adw-gtk3 adwaita-xfce-icon-theme

Daraufhin können unter Einstellungen / Erscheinungsbild das Theme sowie die Icons ausgewählt werden.

Qt

Um Qt-Applikationen wie VLC ebenfalls im Standard-Theme darzustellen, können die folgenden Pakete installiert werden:

apk add adwaita-qt adwaita-qt6

Um die Theme zu nutzen, kann die Umgebungsvariable QT_STYLE_OVERRIDE=Adwaita gesetzt werden. Dies erfolgt systemweit in der Datei /etc/environment.

Mauscursor

Um einen einheitlichen Mauscursor zu verwenden, kann die Standard-Theme wie folgt definiert werden:

mkdir /usr/share/icons/default/
vi /usr/share/icons/default/index.theme

[icon theme] 
Inherits=Adwaita

HiDPI

Xfce und der Displaymanager LightDM auf hochauflösenden Bildschirmen sind grundsätzlich nutzbar, es bedarf allerdings einiger Anpassungen.

Unter Einstellungen / Erscheinungsbild / Einstellungen kann zunächst die Skalierung auf 2x gestellt werden.

Ferner können in der Datei /etc/environment die folgenden Variablen gesetzt werden:

XCURSOR_SIZE=48
GDK_SCALE=2

Mit XCURSOR_SIZE wird die Grösse des Mauszeigers angepasst und mithilfe von GDK_SCALE wir auch der Anmeldemanager LightDM skaliert dargestellt.

Sollte dennoch in einigen GTK-Anwendungen die Schriftgrösse nicht korrekt dargestellt werden, kann zusätzlich in den Xfce Einstellungen / Erscheinungsbild / Schriften der DPI-Wert auf 192 gesetzt werden. Dabei werden zunächst auch die Systemschriften vergrössert, was sich jedoch durch das Hinzufügen der Variable GDK_DPI_SCALE=0.5 in /etc/environment beheben lässt.

Teilt den Beitrag, falls ihr mögt

Abonnieren
Benachrichtige mich bei
5 Kommentare
Most Voted
Newest Oldest
Inline Feedbacks
View all comments