Kapitel 7. GUI-System

Inhaltsverzeichnis

7.1. GUI-Arbeitsplatzumgebung
7.2. GUI-Kommunikationsprotokoll
7.3. GUI-Infrastruktur
7.4. GUI-Anwendungen
7.5. Benutzerverzeichnisse
7.6. Schriften
7.6.1. Basis-Schriftarten
7.6.2. Schriftenrasterung
7.7. Sandbox
7.8. Arbeitsplatz-Fernzugriff (Remote Desktop)
7.9. X-Server-Verbindungen
7.9.1. Lokale Verbindung zum X-Server
7.9.2. Fernverbindung auf den X-Server
7.9.3. Chroot-Verbindung zum X-Server
7.10. 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.8, „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").

[Tipp] Tipp

Detail-Funktionen der GNOME-Desktop-Umgebung können mit Hilfsprogrammen konfiguriert werden, die Sie erreichen, indem Sie nach dem Drücken der Super-Taste "settings", "tweaks" oder "extensions" eingeben.

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:26, I:236 492 GNOME persönliches Informationsmanagement (Groupware und E-Mail)
thunderbird V:46, I:111 273862 GTK E-Mail-Client (Mozilla Thunderbird)
kontact V:1, I:11 2258 KDE persönliches Informationsmanagement (Groupware und E-Mail)
libreoffice-writer V:117, I:439 33053 LO Schreibprogramm
abiword V:0, I:5 3576 GNOME Schreibprogramm
calligrawords V:0, I:5 6937 KDE Schreibprogramm
scribus V:1, I:14 32052 KDE Desktop-Publishing-Editor zum Ändern von PDF-Dateien
glabels V:0, I:2 1283 GNOME Aufkleber-Editor
libreoffice-calc V:111, I:435 28164 LO Tabellenkalkulation
gnumeric V:3, I:11 9958 GNOME Tabellenkalkulation
calligrasheets V:0, I:4 13593 KDE Tabellenkalkulation
libreoffice-impress V:92, I:434 2469 LO Präsentation
calligrastage V:0, I:4 6017 KDE Präsentation
libreoffice-base V:24, I:82 5031 LO Datenbank-Verwaltung
kexi V:0, I:0 7565 KDE Datenbank-Verwaltung
libreoffice-draw V:92, I:434 10985 LO Vektorgrafik-Editor
inkscape V:12, I:86 113183 GNOME Vektorgrafik-Editor
karbon V:0, I:5 3962 KDE Vektorgrafik-Editor
dia V:1, I:19 4086 GTK Ablaufschema- und Diagramm-Editor
gimp V:45, I:232 32135 GTK Bitmapgrafik-Editor
shotwell V:15, I:255 6334 GTK Digitalfoto-Verwaltung
digikam V:1, I:9 302 KDE Digitalfoto-Verwaltung
darktable V:4, I:12 35873 GTK Leuchttisch und Dunkelkammer für Photographen
planner V:0, I:5 1400 GNOME Projektverwaltung
calligraplan V:0, I:3 19241 KDE Projektverwaltung
gnucash V:2, I:7 29748 GNOME Finanzverwaltung/Homebanking-Programm
homebank V:0, I:1 3196 GTK Finanzverwaltung/Homebanking-Programm
lilypond V:0, I:6 16924 - Notensatzprogramm
kmymoney V:0, I:2 18826 KDE Finanzverwaltung/Homebanking-Programm
librecad V:1, I:15 9100 Qt-Appl. System für computerunterstützte Konstruktion (CAD, 2D)
freecad I:20 110 Qt-Appl. System für computerunterstützte Konstruktion (CAD, 3D)
kicad V:3, I:15 163802 GTK Software zum Entwurf von Schaltplänen und Platinen
xsane V:10, I:135 1512 GTK Scanner-Frontend
libreoffice-math V:83, I:437 1904 LO mathematischer Gleichungs-/Formel-Editor
calibre V:7, I:27 65174 KDE E-Book-Konvertierer und Bibliotheksverwaltung
fbreader V:0, I:7 3783 GTK E-Book-Reader
evince V:79, I:300 963 GNOME Dokumentenbetrachter (pdf)
okular V:41, I:135 4415 KDE Dokumentenbetrachter (pdf)
x11-apps V:31, I:467 2461 reine X-Appl. xeyes(1), usw.
x11-utils V:217, I:565 651 reine X-Appl. xev(1), xwininfo(1), usw.

Die Standardnamen für Benutzerverzeichnisse wie "~/Desktop", "~/Documents", ... sind innerhalb der Desktop-Umgebung abhängig von der Locale, die für die Systeminstallation verwendet wurde, können also in eine andere Sprache als Englisch übersetzt sein. Sie können sie auf Englisch zurücksetzen mit:

 $ LANGUAGE=C xdg-user-dirs-update --force 

Anschließend verschieben Sie alle Daten in die neuen Verzeichnisse. Siehe dazu xdg-user-dirs-update(1).

Sie können auch frei wählbare eigene Namen vergeben, indem Sie "~/.config/user-dirs.dirs" editieren. Näheres dazu in user-dirs.dirs(5).

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, griechischen und kyrillischen Zeichen ab. 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:180, I:302 213 59 - - Cantarell (GNOME 3; Bildschirmanzeige)
fonts-noto I:158 31 61 63 40 Noto-Schriften (Google; mehrsprachig inkl. CJK)
fonts-dejavu I:405 35 58 68 40 DejaVu (GNOME 2; MCM:Verdana, erweiterte Bitstream Vera)
fonts-liberation2 V:71, I:239 15 56 60 40 Liberation-Schriften für LibreOffice (Red Hat; MCMATC)
fonts-croscore V:21, I:39 5274 56 60 40 Chrome OS: Arimo, Tinos und Cousine (Google; MCMATC)
fonts-crosextra-carlito V:18, I:102 2696 57 - - Chrome OS: Carlito (Google; MCM:Calibri )
fonts-crosextra-caladea V:10, I:97 347 - 55 - Chrome OS: Caladea (Google; MCM:Cambria ) (nur Latein)
fonts-freefont-ttf V:78, I:209 14460 57 59 40 GNU FreeFont (erweiterte URW Nimbus)
fonts-quicksand V:207, I:460 392 56 - - Debian task-desktop, Quicksand (Bildschirmanzeige, nur Latein)
fonts-hack V:32, I:140 2507 - - 40 P Eine Schriftart, die für Quellcode-Hack entworfen wurde (Facebook)
fonts-sil-gentiumplus I:30 14345 - 54 - Gentium SIL
fonts-sil-charis I:29 6704 - 59 - Charis SIL
fonts-urw-base35 V:189, I:536 15560 56 60 40 URW Nimbus (Nimbus Sans, Roman No. 9 L, Mono L, MCAHTC)
fonts-ubuntu V:2, I:5 4339 58 - 33 P Ubuntu-Schriften (Bildschirmanzeige)
fonts-terminus I:4 452 - - 33 Coole Retro-Terminal-Schriften
ttf-mscorefonts-installer V:0, I:43 85 56? 60 40 Downloader für nicht-freie Microsoft-Schriften (siehe unten)

Hierbei gilt:

  • 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.5, „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".

Der Zugriff von fern auf den lokalen X-Server mittels einer Anwendung, die das X-Core-Protokoll verwendet, wird über die Nutzung der X11-forwarding-Funktionalität unterstützt:

Mit dieser Methode kann die Anzeige eines fernen X-Clients dargestellt werden, als wäre sie lokal über einen UNIX-Domain-Socket verbunden.

Lesen Sie für Informationen zu SSH/SSHD Abschnitt 6.3, „Der Server für Fernzugriff (SSH) und Hilfsprogramme“.

[Warnung] Warnung

Eine TCP/IP-Verbindung zu einem fernen X-Server ist in Debian aus Sicherheitsgründen deaktiviert. Wenn Sie es vermeiden können, sollten Sie dies auch nicht aktivieren (z.B. indem Sie einfach "xhost +" setzen oder XDMCP-Verbindungen gestatten).

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: