Installation unter Void Linux - MorgenWM

MorgenWM unter Void Linux installieren

English Version

Diese Anleitung führt durch eine komplette Void-Linux-Installation: von einem Basissystem bis zum laufenden MorgenWM-Desktop.

Voraussetzungen

Ein Void-Linux-Basissystem mit funktionierendem xbps. Wenn du das Base-Image installiert hast, bringe das System zuerst auf den neuesten Stand. Beachte, dass xbps selbst vor dem Rest des Systems aktualisiert werden muss:

sudo xbps-install -u xbps
sudo xbps-install -Su

Schritt 1: MorgenWM installieren

MorgenWM ist im Void Community Repository (oco) verfügbar, das vorgebaute Binaries inklusive eines kompatiblen river mitliefert:

# Community-Repository hinzufügen
echo 'repository=https://repo.osowoso.org/x86_64' | sudo tee /etc/xbps.d/00-VUR.conf

# Aktualisieren und installieren (xbps fragt nach dem Import des
# Repository-Schlüssels, bestätige ihn)
sudo xbps-install -S
sudo xbps-install morgenwm

Das Paket installiert die Binaries (morgenwm, launch_morgenwm, morgenwm_msg, morgenwm_keys, morgenwm_setup), den Desktop-Session-Eintrag und die Beispiel-Assets unter /usr/share/morgenwm.

Schritt 2: Setup-Assistent ausführen

Der Assistent schreibt eine Preset-Konfiguration und installiert Dokumentation, Templates und Helferskripte:

morgenwm setup

Du wirst gebeten, ein Preset zu wählen:

  • minimal: nackter Fenstermanager, keine Extras
  • full: Panel, Hintergrundbild, Launcher, Idle-Lock, Auth-Agent, Bildschirmtemperatur, Screenshots, Emoji-Picker

Der Assistent liest seine Beispiel-Assets aus /usr/share/morgenwm. Das Full-Preset lädt zusätzlich Hintergrundbilder, Helferskripte und Themes aus dem Dotfiles-Repository herunter.

Schritt 3: Extras installieren (nur Full-Preset)

Der Assistent installiert keine Laufzeit-Tools. Für das Full-Preset mit xbps installieren:

sudo xbps-install vibepanel wbg fuzzel swayidle waylock mate-polkit \
  wlsunset grim slurp wl-clipboard wtype xdg-user-dirs foot firefox glow \
  zellij fish-shell git emptty noto-fonts-emoji

Wofür die einzelnen Pakete da sind:

PaketZweck
vibepanelStatusleiste / Panel mit Benachrichtigungen
wbgHintergrundbild-Daemon
fuzzelAnwendungsstarter (Mod+d)
swayidleIdle-Daemon (sperrt automatisch über waylock)
waylockBildschirmsperre
mate-polkitAuthentifizierungs-Agent (sudo/polkit-Abfragen)
wlsunsetTag/Nacht-Bildschirmtemperatur
grim + slurpScreenshots (Bereich + ganzer Bildschirm)
wl-clipboardZwischenablage-Werkzeuge (wl-copy/wl-paste)
wtypeSynthetische Eingabe (für den Emoji-Picker)
xdg-user-dirsLokalisierte ~/Bilder etc. für Screenshot-Speicherung
footTerminal (Mod+Return)
firefoxBrowser (Mod+b)
glowMarkdown-Browser für den Doks-Menüeintrag
zellijTerminal-Multiplexer (wird vom Dotfiles-Preset verwendet)
fish-shellShell (wird vom Dotfiles-Preset verwendet; Paketname unter Void)
gitVersionsverwaltung (Setup klont das Dotfiles-Repo und bemoji)
empttyCLI-Display-Manager (optional, für grafischen Login)
noto-fonts-emojiEmoji-Glyphen (sonst zeigt fuzzel leere Kästchen)

Wenn du das Minimal-Preset gewählt hast, kannst du diesen Schritt ganz überspringen.

Schritt 4: Session aktivieren

Jetzt brauchst du einen Session-Manager und einen Seat-Manager. seatd stellt den Seat-Zugriff für wlroots-Compositoren wie River bereit, und turnstile richtet XDG_RUNTIME_DIR ein (ohne das funktionieren Wayland-Sessions nicht). Nun installiere beide und aktiviere ihre Dienste:

sudo xbps-install seatd turnstile
sudo ln -s /etc/sv/seatd /var/service/
sudo ln -s /etc/sv/turnstiled /var/service/
sudo sv start seatd turnstiled

Füge deinen Benutzer zur _seatd-Gruppe hinzu, damit Nicht-Root-Sessions den Seat nutzen können:

sudo usermod -aG _seatd $(whoami)

Dann einmal ab- und wieder anmelden (damit Gruppenzugehörigkeit und XDG_RUNTIME_DIR greifen).

Option A: emptty (empfohlen)

emptty ist ein einfacher CLI-Display- Manager, der auf einem TTY läuft. Das Dotfiles-Preset bringt eine Benutzerkonfiguration unter ~/.config/emptty mit, die MorgenWM direkt startet. Dienst aktivieren:

sudo ln -s /etc/sv/emptty /var/service/
sudo sv start emptty

Beim nächsten Boot bekommst du einen Login-Prompt auf einem TTY. Nach dem Login startet MorgenWM automatisch.

Option B: manueller TTY-Login

Auf einem TTY anmelden und ausführen:

launch_morgenwm

launch_morgenwm liest deine Konfiguration, um das Tastatur-Layout zu setzen, und exect in River mit MorgenWM als Init-Programm.

Schritt 5: Prüfen

Sobald du in der Session bist:

  • Mod+Return öffnet ein Terminal
  • Mod+d öffnet den Launcher
  • Mod+o schaltet die Fensterübersicht um
  • Mod+r listet alle Tastenkombinationen im Launcher

Um die Konfiguration zu prüfen:

morgenwm validate

Aktualisieren

sudo xbps-install -u xbps
sudo xbps-install -Su

Fehlerbehebung

  • Schwarzer Bildschirm nach dem Login: Prüfe, dass river installiert ist und seatd sowie turnstiled laufen (sudo sv status seatd turnstiled). MorgenWM braucht eine funktionierende Seat-Session und XDG_RUNTIME_DIR.
  • `XDG_RUNTIME_DIR` nicht gesetzt: Stelle sicher, dass turnstile installiert ist und der turnstiled-Dienst aktiv ist, dann einmal ab- und wieder anmelden. Prüfen kannst du es mit echo $XDG_RUNTIME_DIR. Es sollte auf ein Verzeichnis wie /run/user/1000 zeigen.
  • Falsches Tastatur-Layout: Setze keyboard_layout in ~/.config/morgenwm/config.toml (z. B. "de") und starte launch_morgenwm neu.
  • Keine Emojis im Launcher: Installiere noto-fonts-emoji und starte die Session neu.
  • wlsunset-Tintung falsch: Die Konfiguration liefert einen Berlin-Platzhalter mit (wlsunset -l 52.52 -L 13.41). Ersetze ihn durch Breiten- und Längengrad deiner Stadt in ~/.config/morgenwm/config.toml.