Sobald das System hochgefahren ist, begrüßt uns ein
Display Manager
wie zum Beispiel gdm3(1)
mit einem Anmeldebildschirm.
Nach erfolgreicher Authentifizierung registriert
pam_systemd(8)
eine Sitzung im Login Daemon
und veranlasst den Service-Manager, die Units in
/etc/systemd/user
und
~/.config/systemd/user
zu starten.
Unter Debian stehen divers Arbeitsumgebungen zur Auswahl. Jede bringt eigene Programme für verschiedene Anwendungsgebiete mit. Es spricht nichts dagegen, diese beliebig zu mischen und nach dem individuellen Bedarf zu nutzen.
Name | Toolkit | Compositor | Datei | Navigator | Kalender | Foto | Musik | Video |
GNOME | GTK+ | Mutter | Nautilus | Epiphany | Calendar | Loupe | Music | Totem |
KDE Plasma | Qt | Kwin | Dolphin | Konqueror | Kontact | Gwenview | Amarok | Dragon |
Xfce | GTK+ | Xfwm | Thunar | Midori | Orage | Ristretto | Parole | |
Pantheon | GTK+ | Gala | Files | Geary | Maya | Shotwell | Noise | Audience |
LXDE | GTK+ | Openbox | PCMan | Gpicview | lxmusic | lxine | ||
MATE | GTK+ | Marco | Caja | Eom | ||||
Enlightenment | EFL | E | Entropy | Eve | Ephoto | Emphasis | Enna | |
Windows | MFC | DWM | Explorer | Edge | Outlook | MS Paint | Media-Player |
Die graphische Oberfläche (GUI) ist modular aufgebaut. Ein Fenstermanager verwaltet die Fenster der Programme und der Compositor spricht durch den Kernel mit der Hardware. Bildschirme werden automatisch erkannt via EDID.
Die meisten Programme verwenden eine Bibliothek für die Darstellung der Bedienelemente. Moderne Bibliothken wie GTK+ oder Qt verwenden die Vektor-Bibliothek Cairo. Diese wiederum überlässt das Zeichnen graphischer Primitiven, Gradienten und Matrix-Transformationen dem hardwarebeschleunigten XRender-Modul des X-Servers.
Dreidimensionale Darstellung erfolgt üblicherweise über die 3D-Grafik-Bibliothek Mesa. Diese implementiert nach außen die OpenGL-Schnittstelle und nutzt intern das DRI-Modul des X-Servers. Wenn keine Hardware-Beschleunigung möglich ist, zeichnen sowohl Cairo als auch Mesa die Pixelgrafiken selbst.
Eine Liste der Grafikkarten und Bildschirme erhält man mit:
inxi -G Graphics: Device-1: Intel CoffeeLake-U GT3e [Iris Plus Graphics 655] driver: i915 v: kernel Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting resolution: 3840x2160~60Hz OpenGL: renderer: Mesa Intel Iris Plus Graphics 655 (CFL GT3) v: 4.6 Mesa 20.3.5
PipeWire koordiniert PCM-Datenströme zwischen diversen Quellen (GStreamer-, Xine-, ALSA- und OSS-Clients) und Senken (Soundkarte, Netzwerk, RTP-Empfänger).
Eine Liste der Wiedergabegeräte erhält man mit:
aplay -l Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC233 Analog [ALC233 Analog] ...
CUPS
unterstützt das IPP
für lokal angeschlossene und netzwerkbasierte Drucker.
Der Daemon lauscht auf http://localhost:631.
Benutzer in der Gruppe lpadmin
dürfen Drucker verwalten.
In der Regel werden netzwerkbasierte Drucker automatisch erkannt.
Eine Liste der verfügbaren Drucker bekommt man mit:
lpstat -a gutenberg akzeptiert anfragen seit Mi 24 Jul 2019 11:35:41 CEST
Das Freedesktop-Projekt (ehemals XDG) definiert systemweite Standardverzeichnisse für folgende Ressourcen:
Ressource | System | Benutzer |
Arbeitsumgebungen | /usr/share/xsessions |
|
Anwendungsdaten | XDG_DATA_DIRS |
XDG_DATA_HOME |
---|---|---|
/usr/share |
~/.local/share |
|
Programmstarter | /usr/share/applications |
~/.local/share/applications |
Schriften | /usr/share/fonts |
~/.local/share/fonts |
Piktogramme | /usr/share/icons |
~/.local/share/icons |
Oberflächen-Stile | /usr/share/themes |
~/.local/share/themes |
Konfiguration | XDG_CONFIG_DIRS |
XDG_CONFIG_HOME |
/etc/xdg |
~/.config |
|
Menüs | /etc/xdg/menu |
~/.config/menus |
Autostarts | /etc/xdg/autostart |
~/.config/autostart |
Verzeichnisse | /etc/xdg/user-dirs.defaults |
~/.config/user-dirs.dirs |
Programme | XDG_BIN_DIRS |
XDG_BIN_HOME |
/usr/bin |
~/.local/bin |
|
Bibliotheken | XDG_LIB_DIRS |
XDG_LIB_HOME |
/usr/lib |
~/.local/lib |
|
Temporäre Daten | XDG_RUNTIME_DIR |
$XDG_CACHE_HOME |
/run/user/Uid |
~/.cache |
Wo Programme ihre Dokumente, Musik, Videos und Fotos suchen, lässt
sich in ~/.config/user-dirs.dirs
anpassen oder per
Kommando anpassen und abfragen.
xdg-user-dirs-update --set MUSIC ~/music xdg-user-dir MUSIC /home/phrank/music
Um zum Beispiel alle dicktengleichen Schriften auszugeben:
fc-list :spacing=mono /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/truetype/cmu/cmunit.ttf: CMU Typewriter Text:style=Italic /usr/share/fonts/X11/Type1/c0419bt_.pfb: Courier 10 Pitch:style=Regular …
Das System merkt sich in /usr/share/applications/mimeinfo.cache
welches Programm welche Dateitypen öffnet. Individuelle Einstellungen
sind über ~/.config/mimeapps.list
möglich.
~/.config/mimeapps.list[Default Applications] text/html=firefox.desktop image/jpeg=eog.desktop audio/opus=vlc.desktop video/mp4=vlc.desktop; … [Added Associations] application/pdf=evince.desktop; …
Den bevorzugten Navigator erfährt man zum Beispiel mit:
xdg-settings get default-web-browser firefox.desktop
Den Medientyp einer Datei bestimmen:
xdg-mime query filetype index.html text/html
Die damit verknüpfte Anwendung abfragen:
xdg-mime query default text/html firefox.desktop
Man kann auch auf der Kommandozeile eine Datei mit dem bevorzugten Programm öffnen. Folgendes Beispiel würde zum Beispiel die Seite im Firefox anzeigen.
xdg-open index.html
Außerdam kann man eine neue Nachricht vorbereiten.
xdg-email --subject "Wichtig" --body "Hallo Alice" alice@example.org
Und zu guter letzt den Bildschirm sperren und Kaffee holen:
xdg-screensaver lock
Eine Desktop-Datei verknüpft einen Programmaufruf mit Name, Kommentar und Piktogramm.
Name.desktop[Desktop Entry] Version=1.0 Name=ShortName Comment=Description Icon=File Exec=Program Terminal=false Type=Application Categories=Utility;Application;
Eigene Desktop-Dateien lassen sich als Starter auf dem Desktop…
xdg-desktop-icon install Name.desktop
…und/oder im Menü zu verankern. Diese landen im Verzeichnis
~/.local/share/applications
.
xdg-desktop-menu install Name.desktop
Eigene Piktogramme lassen sich auch unter einem Namen registrieren.
xdg-icon-resource install --size 256 File.png Name
Diese landen im Verzeichnis ~/.local/share/icons/hicolor/256x256/apps/
.