Arch mit Xmonad¶
In Nicht-Hyper-V-Umgebungen installiere ich oft einfach die gesamte Software (als Oneliner).
Beim Hyper-V hat das allerdings über die Jahre manches Mal zu nicht funktionsfähigen X-Oberflächen geführt.
Daher teile ich die Installation in 2 Phasen.
Phase 1: X-Server pur
Jetzt wollen wir also nur die nötigen X-Server / Xorg Tools bereitstellen und testen dann das Ganze mit dem eingebauten TWM (Tom’s - oder auch Tab - Window Manager).
# Minimalinstallation video/x-Server
sudo pacman -S xf86-video-fbdev xorg xorg-xinit xterm xorg-xclock
Das installiert alle Notwendige für die X-Server-Nutzung: xorg, xorg init-Tools, x-Libs, mesa, …
Tipp
Bei Tests und Spielereien mit X-Server und Window Managern
sollte man niemals xterm
vergessen!
Wir benötigen für das Starten des X-Servers (Tool: startx
)
eine Konfiguration:
cp /etc/X11/xinit/xinitrc ~/.xinitrc
startx # Test X mit Standard-TWM siehe: letzte 5 Zeilen in .xinitrc
Die vorliegende Standard-Konfiguration beinhaltet am Ende den Start
von twm
und die Bereitstellung von xclock
und xterm
-inals.
...
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
Wenn der TWM läuft, dann können wir alles mit exit
beenden
und uns (ggf. nach reboot
)
den weiteren Installationen zuwenden.
Status Pakete: pacman -Q | wc -l
ergeben jetzt knapp 300 Pakete.
Phase 2: WM Xmonad und Tools/Software
Nach der Basisinstallation trennen sich die Wege für viele Installationsanleitungen.
Ich entscheide mich für den Window Manager Xmonad (basiert auf Haskell) und einer recht vielseitigen Softwareausstattung. Für mich bedeutet Window Manager nicht Einschränkung oder Minimalismus bei der Softwareausstattung. Man könnte das folgende auch stark minimalisieren.
Für die Standardinstallation von Xmonad hier dessen Standard-Shortcuts aus der Haskell-Xmonad-Doku:
Insbesondere mit Xmonad (Webportal Xmonad) bekommt man eine größere Menge Software auf die Platte, da der WM Xmonad mit Haskell (Webportal Haskell) bereitgetstellt und übersetzt wird.
Wir benötigen also den kompletten GHC (Glasgow Haskell Compiler) und alle nötigen Build und Developer Tools.
pacman -S lxappearance \
xmonad xmonad-contrib xmobar dmenu dzen2 rofi \
trayer volumeicon network-manager-applet \
nitrogen picom awesome-terminal-fonts xdotool xclip gsimplecal arandr \
rxvt-unicode urxvt-perls firefox mc neovim neofetch xed \
ranger ueberzug pcmanfm w3m imlib2 highlight poppler sxiv zsh \
nemo nemo-fileroller nemo-image-converter nemo-preview nemo-terminal \
alacritty qutebrowser pulseaudio pulseaudio-alsa alsa-utils \
zathura zathura-pdf-poppler zathura-djvu fzf ripgrep \
cowsay lolcat sl cmatrix fortune-mod figlet asciiquarium banner
Anm.: die erste Zeile ist hier kürzer, weil dort normalerweise auch die Tools aus Phase 1 aufgeführt sind.
Auszug aus Quittung für sudo pacman -S ...
(430 Pakete nach Auflösung):
Gesamtgröße des Downloads: 379,95 MiB
Gesamtgröße der installierten Pakete: 1803,02 MiB
Und natürlich handelt es sich bei dieser Auswahl auch nur um eine beispielhafte Auflistung. Jeder kann hier installieren, wonach der Sinn steht.
Bestenfalls passen dann die Paketnamen noch genau zur Distro und man hat auch die nötigen Dotfiles inklusive Fonts und Co für die vollständige Schnellausstattung eines persönlichen Systems parat.
Hinweis
In einer Hyper-V-VM machen die Audio-Tools pulseaudio, pulseaudio-alsa und alsa-utils die Maschine nicht lauter ;-) Eine Hyper-V-VM hat ohne einen Erweiterten Sitzungsmodus (siehe RDP-Session) keine Sound-Unterstützung.
Und für VirtualBox VMs: pacman -S virtualbox-guest-utils
Gefolgt von: systemctl enable vboxservice.service
Xmonad (re)kompilieren / bereitstellen
Die Xmonad-Konfiguration und die lauffähige Xmonad-Software
findet man in: ~/.xmonad
.
Hinweis
Dafür benötigt man natürlich eine entsprechende Konfigurationsdatei
~/.xmonad/xmonad.hs
.
Wir erstellen die nötige Xmonad-SW und Xmonad-Bibliotheken
mit: xmonad --recompile
Wir checken den ~/.xmonad
Ordner, der ungefähr so aussehen sollte:
ls -l ~/.xmonad
insgesamt 9016
-rw------- 1 joeb joeb 30 Nov 24 15:24 prompt-history
drwxrwxr-x 2 joeb joeb 4096 Nov 24 16:21 scripts
-rw-rw-r-- 1 joeb joeb 0 Nov 30 19:44 xmonad.errors
-rw-rw-r-- 1 joeb joeb 7279 Nov 24 15:15 xmonad.hi
-rw-rw-r-- 1 joeb joeb 64095 Nov 24 17:13 xmonad.hs
-rw-rw-r-- 1 joeb joeb 823696 Nov 30 19:44 xmonad.o
-rwxrwxr-x 1 joeb joeb 8266168 Nov 30 19:44 xmonad-x86_64-linux
drwxrwxr-x 2 joeb joeb 4096 Nov 24 14:40 xpm
Hier findet sich auch die Konfigurationsdatei xmonad.hs
(Haskell-Code).
Für das Standardpanel nutzt man Xmobar (Konfiguration: ~/.config/xmobar/..). Die komplette Darstellung aller Optionen und Konfigurationen sprengt diesen Rahmen.
Hinweis
Für meine Trainees stelle ich fertige Xmonad-Home-Dirs mit Konfigurationen zur Verfügung!
Deutsche Tastatur im WM
Auch in der Terminals unter Xmonad wollen wir Deutsche Tastatur:
# german keymap:
sudo localectl set-x11-keymap de pc105 nodeadkeys compose:rwin
Das sollte uns eine Xorg-Keyboard Konfiguration erzeugen:
/etc/X11/xorg.conf.d/00-keyboard.conf
Picom Special
Mit der Standardsoftware Picom (Paket: picom aus Arch-Repo) hat man klassische Fenstereffekte wie Opazität. Will man etwas mehr Action (z.B. runde Fensterecken, Fensteranimationen) kann man zu alternativen Picom-Entwicklerpaketen greifen.
Und hier kommt der AUR-Helper yay ins Spiel: yay picom-jonaburg-git
Das installiert eine andere Picom-Variante -
die Standard-Picom Variante wird deinstalliert. Die Picom-Jonaburg
Variante benötigt eine speziell angepasste ~/.config/picom/picom.conf
.
…tbc…