Kapitel 7. GUI-System

Inhaltsverzeichnis

7.1. GUI-Arbeitsplatzumgebung
7.2. GUI-Kommunikationsprotokoll
7.3. GUI-Infrastruktur
7.4. GUI-Anwendungen
7.5. Schriften
7.5.1. Basis-Schriftarten
7.5.2. Schriftenrasterung
7.6. Sandbox
7.7. Arbeitsplatz-Fernzugriff (Remote Desktop)
7.8. X-Server-Verbindungen
7.8.1. Lokale Verbindung zum X-Server
7.8.2. Fernverbindung auf den X-Server
7.8.3. Chroot-Verbindung zum X-Server
7.9. Zwischenablage

Im Debian-System stehen mehrere voll ausgestattete grafische GUI-Arbeitsplatzumgebungen zur Auswahl:


[Tipp] Tipp

Paketabhängigkeiten, die durch ein Programmgruppen-Metapaket (task-*) ausgewählt wurden, könnten nicht mehr synchron sein zu den letzten Versionsübergängen in Debian Unstable/Testing. Für task-gnome-desktop beispielsweise müssen Sie eventuell die Paketauswahl wie folgt anpassen:

  • Starten Sie aptitude(8) mit sudo aptitude -u.

  • Wählen Sie "Tasks" aus und drücken Sie "Enter".

  • Wählen Sie "Endbenutzer" aus und drücken Sie "Enter".

  • Wählen Sie "GNOME" aus und drücken Sie "Enter".

  • Wählen Sie task-gnome-desktop aus und drücken Sie "Enter".

  • Wählen Sie "Hängt ab von" aus und drücken Sie "m" (manuell installiert).

  • Wählen Sie "Empfiehlt" aus und drücken Sie "m" (manuell installiert).

  • Wählen Sie "task-gnome-desktop" aus und drücken Sie "-" (entfernen).

  • Anpassen ausgewählter Pakete bei gleichzeitigem Entfernen von problematischen Paketen, die Abhängigkeitskonflikte auslösen

  • Drücken Sie "g", um die Installation/Aktualisierung zu starten.

Dieser Abschnitt behandelt die Standard-Arbeitsplatzumgebung von Debian: task-gnome-desktop, die GNOME unter wayland bereitstellt.

Beim GNOME-Desktop verfügbare GUI-Kommunikationsprotokolle:

Bitte besuchen Sie die freedesktop.org-Seite für Infos zu Unterschieden zwischen Wayland und der X-Window-Architektur.

Aus Sicht des Benutzers können die Unterschiede wie folgt zusammengefasst werden:

  • Wayland ist ein rechner-internes GUI-Kommunikationsprotokoll: neu, einfacher, schneller, keine setuid-root-Binärdatei;

  • X-Window ist ein netzwerkfähiges GUI-Kommunikationsprotokoll: traditionell, komplex, langsamer, hat eine setuid-root-Binärdatei.

Betreffend Anwendungen, die das Wayland-Protokoll verwenden: der Zugriff auf deren Bildschirminhalte von einem fernen Rechner wird unterstützt durch VNC und RDP. Siehe Abschnitt 7.7, „Arbeitsplatz-Fernzugriff (Remote Desktop)“.

Moderne X-Server enthalten die MIT Shared Memory Extension und kommunizieren über gemeinsam genutzten Speicher (shared memory) mit den lokalen X-Clients. So wird der netzwerk-transparente Xlib-Interprozess-Kommunikationskanal umgangen und die Performance erhöht. Diese Situation war der Hintergrund für die Erstellung von Wayland als ausschließlich lokales GUI-Kommunikationsprotokoll.

Über das xeyes-Programm - vom GNOME-Terminal aus gestartet - können Sie das GUI-Kommunikationsprotokoll für jede GUI-Anwendung getrennt kontrollieren.

 $ xeyes
  • Wenn der Mauscursor auf einer Anwendung steht, die das Wayland Display-Server-Protokoll verwendet - wie z.B. das "GNOME-Terminal", bewegen sich die Augen nicht zusammen mit dem Mauscursor.

  • Befindet sich der Mauscursor auf einer Anwendung, die das X-Window-System Core-Protokoll nutzt - wie "xterm", bewegen sich die Augen synchron zum Mauscursor; hier zeigt sich die nicht-isolierte Natur der X-Window-Architektur.

Mit Stand April 2021 wurden viele populäre GUI-Anwendungen wie GNOME- und LibreOffice (LO)-Anwendungen auf das Wayland Display-Server-Protokoll migriert. Soweit ich das sehe, verwenden z.B. xterm, gitk, chromium, firefox, gimp, dia und KDE-Anwendungen noch das X-Window-System Core-Protokoll.

[Anmerkung] Anmerkung

Sowohl für xwayland unter Wayland wie auch für das native X-Window-System sollte die alte X-Server-Konfigurationsdatei "/etc/X11/xorg.conf" nicht auf dem System vorhanden sein. Die Grafikausgabe- und Eingabegeräte werden jetzt vom Kernel über DRM, KMS und udev konfiguriert. Der native X-Server wurde entsprechend angepasst, um diese zu verwenden. Weiteres dazu unter "modedb default video mode support" in der Dokumentation des Linux-Kernels.

Hier einige erwähnenswerte GUI-Infrastruktur-Pakete für die GNOME-Umgebung unter Wayland:


Hierbei bedeutet "[auto]", dass diese Pakete automatisch installiert werden, wenn Sie bei der Installation die Programmgruppe task-gnome-desktop auswählen.

[Tipp] Tipp

gnome-tweaks ist das unverzichtbare Konfigurationswerkzeug für GNOME. Zum Beispiel:

  • können Sie eine "Über-Verstärkung" der Sound-Lautstärke erzwingen (unter "Allgemein");

  • können Sie erzwingen, dass die Feststelltaste ("Caps-Lock") zu "Esc" wird (unter "Tastatur & Maus" -> "Tastatur" -> "Zusätzliche Layout-Optionen").

Viele nützliche GUI-Anwendungen sind jetzt in Debian verfügbar. Die Installation von Paketen wie scribus (aus KDE) innerhalb der GNOME-Arbeitsplatzumgebung ist absolut akzeptabel, da eine entsprechende Funktionalität in GNOME nicht enthalten ist. Allerdings könnte die Installation von vielen Paketen mit identischer Funktion Ihr System aufblähen.

Hier eine Liste von GUI-Anwendungen, die mir ins Auge gestochen sind:

Tabelle 7.3. Liste erwähnenswerter GUI-Anwendungen

Paket Popcon Paketgröße Art Beschreibung
evolution V:31, I:236 493 GNOME persönliches Informationsmanagement (Groupware und E-Mail)
thunderbird V:50, I:130 202238 GTK E-Mail-Client (Mozilla Thunderbird)
kontact V:1, I:14 2203 KDE persönliches Informationsmanagement (Groupware und E-Mail)
libreoffice-writer V:153, I:433 37611 LO Schreibprogramm
abiword V:1, I:11 5133 GNOME Schreibprogramm
calligrawords V:0, I:7 5893 KDE Schreibprogramm
scribus V:2, I:22 30523 KDE Desktop-Publishing-Editor zum Ändern von PDF-Dateien
glabels V:0, I:4 1327 GNOME Aufkleber-Editor
libreoffice-calc V:148, I:430 30127 LO Tabellenkalkulation
gnumeric V:5, I:19 10084 GNOME Tabellenkalkulation
calligrasheets V:0, I:5 11326 KDE Tabellenkalkulation
libreoffice-impress V:118, I:426 9248 LO Präsentation
calligrastage V:0, I:5 5198 KDE Präsentation
libreoffice-base V:78, I:219 6047 LO Datenbank-Verwaltung
kexi V:0, I:2 7118 KDE Datenbank-Verwaltung
libreoffice-draw V:119, I:427 13442 LO Vektorgrafik-Editor
inkscape V:35, I:167 87324 GNOME Vektorgrafik-Editor
karbon V:0, I:6 3593 KDE Vektorgrafik-Editor
dia V:3, I:28 3620 GTK Ablaufschema- und Diagramm-Editor
gimp V:61, I:300 19827 GTK Bitmapgrafik-Editor
shotwell V:17, I:237 6402 GTK Digitalfoto-Verwaltung
digikam V:2, I:12 2921 KDE Digitalfoto-Verwaltung
darktable V:5, I:16 26575 GTK Leuchttisch und Dunkelkammer für Photographen
planner V:0, I:4 1146 GNOME Projektverwaltung
calligraplan V:0, I:1 18517 KDE Projektverwaltung
gnucash V:3, I:10 32394 GNOME Finanzverwaltung/Homebanking-Programm
homebank V:0, I:2 1114 GTK Finanzverwaltung/Homebanking-Programm
lilypond V:1, I:8 7363 - Notensatzprogramm
kmymoney V:0, I:2 12850 KDE Finanzverwaltung/Homebanking-Programm
librecad V:2, I:16 8309 Qt-Appl. System für computerunterstützte Konstruktion (CAD, 2D)
freecad I:18 59 Qt-Appl. System für computerunterstützte Konstruktion (CAD, 3D)
kicad V:2, I:14 193841 GTK Software zum Entwurf von Schaltplänen und Platinen
xsane V:16, I:161 2346 GTK Scanner-Frontend
libreoffice-math V:104, I:430 2298 LO mathematischer Gleichungs-/Formel-Editor
calibre V:9, I:33 57919 KDE E-Book-Konvertierer und Bibliotheksverwaltung
fbreader V:1, I:13 2631 GTK E-Book-Reader
evince V:107, I:323 978 GNOME Dokumentenbetrachter (pdf)
okular V:42, I:114 15376 KDE Dokumentenbetrachter (pdf)
x11-apps V:29, I:461 2437 reine X-Appl. xeyes(1), usw.
x11-utils V:169, I:581 712 reine X-Appl. xev(1), xwininfo(1) usw.

Viele nützliche skalierbare Schriftarten sind für Debian-Nutzer verfügbar. Anliegen der Benutzer hierbei sind, wie sie Redundanzen (doppelt vorhandene Schriften) vermeiden können und wie sie Teile von installierten Schriftarten deaktivieren können. Ansonsten könnten unnötigerweise verfügbare Schriften die Menüs der GUI-Anwendungen aufblähen.

Das Debian-System verwendet die FreeType 2.0-Bibliothek zur Rasterung vieler skalierbarer Schriftformate für Bildschirmanzeige und Druck:

Die folgende Tabelle wurde erstellt in der Hoffnung, dass sie Nutzern hilft, passende skalierbare Schriftarten auszuwählen durch ein klares Verständnis der metrischen Kompatibilität und der Glyphenabdeckung. Die meisten Schriftenarten decken alle lateinischen Schriften ab sowie griechische und kyrillische Glyphen. Auch ästhetische Gründe könnten Einfluß darauf haben, welche Schriften Sie letztlich aktivieren. Diese Schriften können sowohl für die Bildschirmanzeige wie auch für den Druck genutzt werden.

Tabelle 7.4. Liste erwähnenswerter TrueType- und OpenType-Schriftarten

Paket Popcon Größe sans serif mono Hinweise zur Schriftart
fonts-cantarell V:103, I:296 572 59 - - Cantarell (GNOME 3; Bildschirmanzeige)
fonts-noto I:134 35 61 63 40 Noto-Schriften (Google; mehrsprachig inkl. CJK)
fonts-dejavu I:449 39 58 68 40 DejaVu (GNOME 2; MCM:Verdana, erweiterte Bitstream Vera)
fonts-liberation2 V:107, I:371 4290 56 60 40 Liberation-Schriften für LibreOffice (Red Hat; MCMATC)
fonts-croscore V:17, I:46 5278 56 60 40 Chrome OS: Arimo, Tinos und Cousine (Google; MCMATC)
fonts-crosextra-carlito V:24, I:214 2732 57 - - Chrome OS: Carlito (Google; MCM:Calibri )
fonts-crosextra-caladea I:212 258 - 55 - Chrome OS: Caladea (Google; MCM:Cambria ) (nur Latein)
fonts-freefont-ttf V:63, I:247 6656 57 59 40 GNU FreeFont (erweiterte URW Nimbus)
fonts-quicksand I:390 392 56 - - Debian task-desktop, Quicksand (Bildschirmanzeige, nur Latein)
fonts-hack V:17, I:94 2508 - - 40 P Eine Schriftart, die für Quellcode-Hack entworfen wurde (Facebook)
fonts-sil-gentiumplus I:37 13568 - 54 - Gentium SIL
fonts-sil-charis V:3, I:22 6406 - 59 - Charis SIL
fonts-urw-base35 V:112, I:295 11095 56 60 40 URW Nimbus (Sans, Roman No. 9 L, Mono L, MCAHTC)
fonts-ubuntu V:2, I:5 4339 58 - 33 P Ubuntu-Schriften (Bildschirmanzeige)
fonts-terminus V:0, I:2 452 - - 33 Coole Retro-Terminal-Schriften
ttf-mscorefonts-installer V:1, I:59 92 56? 60 40 Downloader für nicht-freie Microsoft-Schriften (siehe unten)

Hierbei:

  • steht "MCM" für "metrisch kompatibel mit durch Microsoft bereitgestellte Schriften";

  • steht "MCMATC" für "metrisch kompatibel mit durch Microsoft bereitgestellte Schriften: Arial, Times New Roman, Courier New";

  • steht "MCAHTC" für "metrisch kompatibel mit durch Adobe bereitgestellte Schriften: Helvetica, Times, Courier";

  • stehen Zahlen in den Schrifttyp-Spalten für die ungefähre Weite von "M" der gleichen Punktgrößen-Schrift;

  • steht "P" in einer Mono-Schrifttyp-Spalte für die Eignung in der Programmierung (mit einem klaren Unterschied bei "0"/"O" und "1"/"I"/"l").

  • Das ttf-mscorefonts-installer-Paket lädt Microsofts "Core fonts for the Web" herunter und installiert Arial, Times New Roman, Courier New, Verdana, ... . Diese Schriftarten sind nicht-freie Daten.

Viele freie lateinische Schriftarten haben eine Abstammungslinie zur URW Nimbus-Familie oder zu Bitstream Vera.

[Tipp] Tipp

Wenn Ihr Gebietsschema Schriften erfordert, die von den oben genannten Schriften nicht gut abgedeckt werden, verwenden Sie bitte aptitude, um nach Tasks-Paketen zu suchen (unter "Tasks" -> "Lokalisierung"). Die Schriftpakete, die in dem zu Ihrem Gebietsschema gehörigen Lokalisierungs-Task zu finden sind (unter "Hängt ab von" oder "Empfiehlt"), sind die primär für Sie interessanten Kandidaten.

Debian verwendet FreeType für die Rasterung von Schriften. Deren Infrastruktur zur Schriftenauswahl wird von der Schriften-Konfigurationsbibliothek Fontconfig bereitgestellt.


[Tipp] Tipp

Einige Schriftpakete wie fonts-noto* installieren zu viele Schriftarten. Auch möchten Sie vielleicht einige Schriftpakete installiert haben, aber die zugehörigen Schriftarten sollen normalerweise trotzdem nicht aktiv sein. Doppelte Glyphen sind für einige Unicode-Codepoints aufgrund der Han-Vereinheitlichung zu erwarten, und durch eine unkonfigurierte Fontconfig-Bibliothek könnte es dazu kommen, dass unerwünschte Glyphen ausgewählt werden. Sehr nervige Fälle sind dabei "U+3001 IDEOGRAPHIC COMMA" und "U+3002 IDEOGRAPHIC FULL STOP" in CJK-Ländern. Sie können solche Problematiken ganz einfach vermeiden, indem Sie die Verfügbarkeit von Schriftarten über den grafischen Schriften-Manager font-manager konfigurieren.

Der Schriftarten-Konfigurationsstatus kann auch über die Befehlszeile abgefragt werden:

  • "fc-match(1)" zeigt, welche fontconfig-Schriften Standardeinstellung sind;

  • "fc-list(1)" zeigt verfügbare fontconfig-Schriften.

Sie können den Schriftarten-Konfigurationsstatus auch über einen Texteditor konfigurieren, aber dies ist nicht trivial. Lesen Sie dazu fonts.conf(5).

Viele (meist grafische) Anwendungen unter Linux sind auch in binärer Form über Debian-fremde Quellen verfügbar:

[Warnung] Warnung

Binärdateien aus diesen Quellen könnten proprietäre, nicht-freie Software-Pakete enthalten.

Es gibt eine Existenzberechtigung für diese Binärformat-Distributionen auch unter Liebhabern Freier Software, die Debian nutzen, da auf diesem Wege ein sauberer Satz von Bibliotheken für jede Anwendung vom jeweiligen Upstream-Entwickler bereitgestellt werden kann, unabhängig von den ansonsten in Debian verfügbaren Versionen.

Das dem Nutzen von externen Binärdateien anhängende Risiko kann reduziert werden, indem eine Sandbox-Umgebung genutzt wird, die moderne Linux-Sicherheitsfunktionalitäten zum Einsatz bringt (siehe Abschnitt 4.7.4, „Linux Sicherheits-Funktionalitäten“):

  • Binärdateien von AppImage und einigen weiteren Upstream-Sites sollten Sie in firejail laufen lassen (bei manueller Konfiguration).

  • Binärdateien von FLATHUB sollten Sie in Flatpak laufen lassen. (Keine manuelle Konfiguration erforderlich.)

  • Binärdateien von Snapcraft sollten Sie in Snap laufen lassen. (Keine manuelle Konfiguration erforderlich. Kompatibel mit Daemon-Programmen.)

Das xdg-desktop-portal-Paket bietet eine standardisierte API-Schnittstelle für allgemeine Desktop-Funktionalitäten. Näheres unter xdg-desktop-portal (Flatpak) und xdg-desktop-portal (Snap) .


Diese Sandbox-Technologie ähnelt sehr den Apps auf Smartphone-Betriebssystemen, wo Apps mit eingeschränktem Ressourcenzugriff ausgeführt werden.

Einige große GUI-Anwendungen in Debian wie Webbrowser nutzen intern ebenfalls die Sandbox-Technologie, um sicherer zu werden.


Es gibt verschiedene Wege, um eine Anwendung auf einem fernen Rechner mit dem X-Server zu verbinden; dazu gehört auch xwayland auf dem lokalen Rechner.


Ein Zugriff auf den lokalen X-Server durch lokale Anwendungen, die das X-Core-Protokoll nutzen, kann über einen lokalen UNIX-Domain-Socket realisiert werden. Die Authentifizierung hierfür kann über die authority-Datei mittels Access-Cookies erfolgen. Der Speicherort der authority-Datei wird über die Umgebungsvariable "$XAUTHORITY" definiert, und das X-Display über die "$DISPLAY"-Umgebungsvariable. Da diese normalerweise automatisch gesetzt werden, ist keine spezielle Aktion dafür nötig; für "gitk" starten Sie z.B. einfach:

username $ gitk
[Anmerkung] Anmerkung

Für xwayland enthält XAUTHORITY einen Wert wie "/run/user/1000/.mutter-Xwaylandauth.YVSU30".

Um Text in die Zwischenablage zu kopieren, lesen Sie Abschnitt 1.4.4, „Mausoperationen“.

Um Grafiken in die Zwischenablage zu kopieren, gehen Sie zu Abschnitt 11.6, „Werkzeuge für Grafikdaten“.

Auch einige CLI-Befehle können die Zwischenablage beeinflussen: