xfree86logo.png

Das Kreuz mit dem X

Das X-Window-System

01.12.2001
Was steckt eigentlich hinter dem ominösen X-Window-System? Wozu braucht man es, wenn man doch eigentlich nur mit KDE oder GNOME arbeiten will?

Bereits bei der Installation taucht es auf, das X-Window-System, das es zu konfigurieren gilt. Wer sich später in seinem Dateisystem umschaut, findet Verzeichnisse mit dem Namen X11 oder X11R6, und auch die Dokumentation des Distributors erwähnt das mysteriöse X an allen Ecken und Enden. Doch was sollen wir damit, wollen wir doch lediglich mit KDE, GNOME oder einem Window Manager arbeiten? Wie hängt all dies zusammen? Die grafische Benutzerschnittstelle eines Linux- o. a. Unix-Systems birgt viele Rätsel.

Oberfläche mal zwei?

In diesem Geflecht zusammenarbeitender Komponenten stellt das X-Window-System einem Window Manager oder einer Desktop-Umgebung wie KDE oder GNOME die grafische Oberfläche zur Verfügung. X11 oder X, so sein liebevoller Kurzname, wird von fast allen grafischen Programmen zur Darstellung verwendet. Auch die sichtbaren Elemente des Desktops selbst sind lediglich grafische Anwendungen. Diese benötigen ein Display, auf dem die Ausgabe erfolgt; um die Ausgabe selbst brauchen sie sich nicht mehr zu kümmern. Das erledigt der X-Server.

Dieses etwas umständlich anmutende Konzept der Trennung in X-Client (Window Manager oder "normale" GUI-Anwendung) und X-Server, der die Grafikhardware verwaltet, bietet den Vorteil, multiuserfähig und remote nutzbar zu sein (beides Eigenschaften, die etwas Sorgfalt und Bedacht im Umgang bedürfen, auch wenn man sie gar nicht nutzen mag – leicht ist hierdurch die Systemsicherheit gefährdet).

Vergangenheit und Gegenwart

Die Idee zu dem auf allen Unix-Betriebssystemen und darüber hinaus eingesetzten netzwerkfähigen, grafischen System wurde bereits 1984 im Massachusetts Institute of Technology [1] geboren. Erste vorzeigbare Früchte trug das Projekt 1986, 1988 entstand das MIT X Consortium. Dieses von Firmen unterstützte Gremium machte es sich zur Aufgabe, die Zukunft des noch jungen X-Window-Systems an die Hand zu nehmen: Ein Standard wurde entwickelt, dessen Rechte nach einigen Irrwegen 1999 beim nicht profitorientierten, aber kommerziell geförderten X.Org [2] landeten. Dort wird nach wie vor an verbindlichen Protokollen und Dokumenten gefeilscht, die den Entwicklern neuer X-Server die Richtung weisen. Und Entwickler gibt es mehrere: Während einige ihre Ergebnisse für teures Geld verkaufen, werden unter Linux bevorzugt die kostenlosen Früchte des XFree86 Project, Inc [3] vernascht.

Das XFree86-Projekt erstellt seit 1992 eine Open-Source-Version des X-Window-Systems. Damals wollte man ein frei verfügbares X für die PC-Architektur schaffen, woher das "86" im Namen rührt. Zunächst programmierte das spätere XFree86-Team kein komplettes X-Window-System, sondern stellte lediglich Patchesfür bestehende X-Server bereit. Erst als das MIT X Consortium seine Sourcen veröffentlichte, begann auf dieser Codebasis die Arbeit an eigenen X-Servern (weshalb die XFree-Lizenz [4] u. a. auf die des MIT zurückgeht). Der bestehende Code musste an die x86-Plattform angepasst werden; das Hauptaugenmerk bekam die SVGA-Karte ET4000 der Tseng Labs (die heute sonderbarerweise eher ein Problemkind ist).

Obgleich die Zahl 86 offiziell im Namen bleiben wird, spricht man heute eher nur noch von XFree, denn längst werden Versionen für andere Rechnerarchitekturen (wie z. B. PowerPCs oder Alphas) bereitgestellt.

Ebenso wie beim Linux-Kernel war das Usenet mit seinen Newsgroups der Dreh- und Angelpunkt, über den Entwickler auf dieses Projekt aufmerksam wurden und begannen, Ideen einzubringen und aktiv mitzuarbeiten. Mit steigender Nutzerzahl kamen immer mehr Besitzer anderer Grafikkarten hinzu, sodass sich die Hardwareunterstützung Stück für Stück verbesserte. So haben kommerziell erhältliche X-Server unter Linux heute praktisch kaum mehr eine Bedeutung.

Vom Projekt zur Instanz

Doch mit der Nutzerzahl stiegen die Ansprüche, und schon recht bald reichten die einfachen VESA-Modi [5] nicht mehr aus, um neuere Grafikkarten sinnvoll zu nutzen. Zudem kochten immer mehr Kartenhersteller ihr eigenes Süppchen bei der Ansteuerung ihrer Karten, um kostenintensive Eigenentwicklungen besser in bare Münze umzusetzen. Damit begannen die eigentlichen Probleme der XFree86-Entwickler: Um die besonderen Eigenschaften moderner Grafikchips zu nutzen, braucht man Informationen über diese Chips. So war (und ist) entweder ein wohlgesonnener Hersteller oder langwierige Detektivarbeit gefragt.

Letztere wird zum Glück immer seltener nötig, denn die Hersteller rücken immer häufiger (wenn auch meist unter Auflagen) mit Informationen heraus oder stellen selbst einen passenden X-Server bereit – immerhin ist ein Funktionieren unter X mittlerweile ein Feature, auf das mancher Kunde achtet. Wer nun also eine Grafikkarte besitzt, die nicht so richtig mit Linux mag, sollte weder den Distributor, noch Linux, noch das XFree86-Team dafür verantwortlich machen – verantwortlich ist einzig der Karten-Hersteller.

Allerdings lässt sich ein X-Server heutzutage kaum mehr in der Freizeit schreiben und warten. So wird das Projekt von einigen Firmen unterstützt. Ein schönes Beispiel ist hierbei die Firma SuSE, die ihren (ehemaligen CTO) Dirk Hohndel als ersten Mitarbeiter für seine Aufgaben bei XFree86 fest einstellte. Keith Packard, ein weiterer XFree86-Entwickler, wird seit 1999 von SuSE bezahlt. Leider zeigen sich bei solchen freiwilligen Unterstützungen deutlich die Auswirkungen der negativen Entwicklung in der Branche: So entließ VA Linux Systems kürzlich den Präsidenten des XFree86-Teams, David Dawes.

Versionsdschungel

Aktuelle Distributionen liefern die XFree86-Versionen 3.3.6 sowie 4.0.3 und 4.1 mit. Die Version 3.3.6 ist schon etwas älter und daher für aktuelle Grafikkarten kaum zu empfehlen. Wer jedoch seine Karte in der Cardlist [6] wiederfindet, benötigt kein Update des X-Servers: Bei der 4er Versionsserie handelt es sich im Wesentlichen um einen modularen Rewrite des XFree-Systems, der noch nicht immer völlig problemlos funktioniert.

Während bei Version 3.3.6 (neben dem Standard-VGA-Server für die Konfiguration über das mitgelieferte Programm XF86Setup) ein spezieller, zur Grafikkarte passender X-Server installiert werden muss (etwa XF86_S3 für Karten mit dem S3-Chipsatz), wird bei Version 4 immer der gleiche (XFree86) verwendet und lediglich ein auf die Karte zugeschnittenes Modul hinzugeladen. Durch diesen modularen Aufbau können neue Karten leichter und schneller unterstützt werden.

Um die Konfiguration des X-Servers (sozusagen die Einrichtung des Grafiktreibers) benutzerfreundlicher zu gestalten, liefert z. B. SuSE das hauseigene Tool Sax, Red Hat den xconfigurator mit. Die Erschaffer von XFree stellen für XFree86 3.3.x statt dessen (auch bei SuSE und Red Hat) die Tools xf86config (textbasiert) und XF86Setup (grafisch) zur Verfügung. Diese originalen Werkzeuge helfen oftmals auch dann noch weiter, wenn Sax & Co. mit ihrem Latein am Ende sind. In einem Punkt sind sich alle Werkzeuge hingegen einig: Sie schreiben eine menschenlesbare Konfigurationsdatei namens XF86Config.

XFree86 4.x

Die Konfigurationsdatei des seit 1997 entwickelten XFree86 4 unterscheidet sich etwas von der des Vorgängers, und so greifen die altgedienten Werkzeuge nicht mehr. SuSE entwickelte daher Sax2, und das XFree86-Projekt schrieb das kommandozeilenorientierte xf86config in eine aktuelle Version um. Daneben existiert das Programm xf86cfg sowie der Aufruf XFree86 -configure, mit denen die grafische Oberfläche fortan in Gang gesetzt werden kann.

Abbildung 1: Standard-Hintergrundmuster unter der Lupe

Auch für die aktuelle XFree86-Version existiert eine Liste der einsetzbaren Grafikkarten [7]. Manche alte Karte, die noch unter Version 3.3.6 Unterstützung fand, wird dort allerdings nicht mehr aufgeführt. Ob sie kein Entwickler mehr einsetzte, ob sich die Entwicklungszeit der Version 4 sonst allzu lange hingezogen hätte, oder um sich von Altlasten zu trennen – so richtig in Erfahrung zu bringen sind die Gründe dafür indes nicht.

Jedenfalls ist es schlau, sich noch vor dem Installieren einer Distribution kundig zu machen, ob die mitgebrachte XFree86-Version die eigene Karte auch unterstützt. So mancher setzt hier die Hürde auf dem Weg ins Linux-Reich unnötig oder gar zu hoch. Im Härtefall kann man jedoch immer auf den Standard-VGA-Treiber mit 640x480 Pixeln bei 16 Farben zurückgreifen. Haben Sie bereits das X-Window-System installiert und wissen nicht, welche Version Sie besitzen, so verraten es die Befehle XFree86 -version bzw. X -showconfig.

Handarbeit

Die mit den genannten Werkzeugen erstellte Konfigurationsdatei findet sich in der Regel unter /etc/X11/XF86Config (um die Konfigurationen für XFree 3.x und 4.x zu unterscheiden, heißt letztere bei manchen Distributoren auch XF86Config4 oder XF86Config-4). Diese Textdatei kann bei Bedarf auch mit einem einfachen Texteditor nachbearbeitet werden. Sie ist aufgeteilt in einzelne Abschnitte (Sections), die sich beispielsweise um die Maus, die Tastatur oder um die Grafikkarte kümmern.

Nahezu alle verfügbaren Einträge lassen sich in der zugehörigen Anleitung (man 5 XF86Config) nachlesen. Übermut beim manuellen Bearbeiten dieser Datei kann jedoch zu Problemen führen: Wird der Monitor beispielsweise mit der Phantasieangabe einer etwas zu hohen Frequenz angesteuert, so wird er vermutlich funktionieren; aber wie lange? Einen Blick in die Ihrer Grafik-Hardware beigelegten Datenblätter sollten Sie daher schon werfen.

Pur

Mit einer funktionierenden Konfiguration lässt sich der X-Server für sich aufrufen und verwenden. Um die einfachste aller X-Sessions zu starten, dürfen im Home-Verzeichnis des jeweiligen Users (root sollte aus Sicherheitsgründen keine eigene X-Session starten, auch wenn es auf vielen Systemen funktioniert) weder eine Datei .xinitrc noch eine .xsession vorhanden sein – diese übernähmen ansonsten die Steuerung der X-Session. Wer diese besitzt, aber dennoch einmal mit dem puren X-Window-System experimentieren möchte, benennt sie vorübergehend einfach um. Danach startet unsere vorkonfigurierte Oberfläche aus der Kommandozeile mit dem Befehl xinit (natürlich darf X hierfür nicht bereits laufen, was z. B. bei einem grafischen Login der Fall ist). Waren unsere Angaben bei der Konfiguration korrekt, so werden wir mit einer grau-gepunkteten Oberfläche inklusive eines xterms – dem Standard-Eingabefenster unter X – belohnt.

Abbildung 2: Ein kompletter Desktop ohne Window Manager

Nun kann bereits mit absolut Allem gearbeitet werden: Möchten Sie zum Beispiel den Newsreader KNode starten, so tippen Sie dessen Aufruf knode & einfach in den xterm ein. Ein abschließendes & gibt das X-Terminal für weitere Eingaben frei, auch wenn KNode noch aktiv ist. Doch schon fangen die Probleme an: Sein Fenster überdeckt unverrückbar unseren xterm, der erst nach Programmende wieder sichtbar wird.

Um solcherart Überlappungen zu verhindern, kann man den Anwendungen mit der Option --geometry bereits beim Aufruf ihren Platz auf dem Desktop zuweisen. Einige neuere Programme wurden leider über die Wichtigkeit jenes Features von ihren Erschaffern nicht informiert, und so ist manche Software an dieser Stelle schlicht inakzeptabel, da unplatzierbar. KNode hingegen meistert diese Hürde:

knode --geometry +300+200 &

rückt unser Newsreader-Fenster von der linken oberen Ecke aus um 300 Pixel nach rechts und 200 nach unten. Der xterm bleibt sichtbar, und den Fokuserhält das Fenster, zu dem die Maus spaziert. Allerdings geht hiermit noch kein Raisingeinher; dieses Feature bietet das nackte X schlicht nicht – hierfür ist ein entsprechender Window Manager gefragt.

Abbildung 3: "Raising" ist erst mit einem Window Manager möglich

Fensterleiter

Ein Window Manager lässt sich übrigens (ebenso wie jede andere Anwendung auch) einfach aus diesem xterm hinzustarten. Bereits geöffnete Anwendungen werden nun eingerahmt und können somit auch noch bei vergessener geometry-Option verschoben werden. Auch wenn der Window Manager bei diesen Experimenten eventuell von "Ausloggen" oder "Beenden" spricht – er beendet sich hiermit nur selbst, und alles übrige bleibt auf dem Desktop erhalten (es sei denn, Sie starten eine Anwendung nicht aus dem xterm, sondern aus dem Startmenü des Window Managers). So ist ein xterm-bestücktes X sehr gut geeignet, um diverse Window Manager einmal genauer zu begutachten. Wer mit sehr wenigen Anwendungen auskommt (z. B. lediglich mit StarOffice) bzw. seine Fenster ohnehin nebeneinander auf dem Desktop platziert bekommt, benötigt eventuell gar keinen Window Manager.

XFree86 liefert per Default den Window Manager twm mit. Dieser ist zwar technisch gesehen alles andere als schlecht, aber sowohl in Bedienung als auch Optik nicht unbedingt das, was den meisten Linux-Usern vorschwebt. Daher existiert im WWW eine (niemals vollständige) Liste [8] verfügbarer Window Manager. Besonders der dortige Link Others enthält einige unscheinbare Mauerblümchen, die einen Blick wert sind.

Doch was genau macht ein solcher Window Manager? Primäre Aufgabe ist das Verwalten der Fenster. Meist geschieht dies über einen Fensterrahmen mit Buttons, mit denen ein Fenster geschlossen, minimiert, verschoben und in seiner Größe verändert werden kann. Kurz gesagt stellt ein Window Manager jene Elemente um eine Anwendung herum, die bei jedem Programmfenster gleichbleibend sind. Wer nun der Meinung ist, er benutze statt eines Window Managers ein Desktop-Environment, der hat hierbei nicht ganz Recht: KDE verwendet aktuell den Window Manager kwin (früher war es kwm), GNOME Sawfish (früher IceWM) und XFce den xfwm. Das Schema hinter den Kulissen (X-Server – Window Manager – Anwendung) bleibt also immer das gleiche. Eine Desktop-Umgebung bietet neben dem Window Manager lediglich eine aufeinander abgestimmte Tool-Sammlung mit zusätzlichen Funktionen.

Autostart

Wer nun zu Beginn seiner X-Session automatisch ein Programm (etwa einen Window Manager) hinzustarten oder einen Befehl ausführen möchte, der legt in seinem Home-Verzeichnis die Datei .xinitrc oder .xsession an. Während die erste beim Start der grafischen Oberfläche über xinit oder startx ausgewertet wird, erhält letztere volle Aufmerksamkeit beim grafischen Login (wie in LinuxUser 10/2001 ab Seite 82 beschrieben). Da die X-Session bei nahezu allen Usern in beiden Fällen identisch aufgebaut sein wird, empfiehlt es sich, lediglich eine der beiden Dateien (etwa .xinitrc) anzulegen und einen Symlink mit dem verbleibenden Namen darauf verweisen zu lassen:

ln -s .xinitrc .xsession

Wer eine Red-Hat-Distribution sein Eigen nennt, sollte zusätzlich der Datei .Xclients Beachtung schenken – auch sie kann inhaltlich identisch sein und ist somit ebenfalls ein Symlink-Kandidat. Manche Distributionen ignorieren die Dateien, wenn sie nicht als ausführbar gekennzeichnet sind (zu ändern über den Befehl chmod 744 Zieldatei) und mit der Zeile #!/bin/bash beginnen. Im Anschluss daran tippen Sie die gewünschten Befehle untereinander hinein – ebenso, als würde man sie aus dem zuerst beschriebenen xterm der nackten X-Session starten. Folglich blockiert eine jede Zeile ohne abschließendes & das Skript so lange, bis der entsprechende Prozess fertig ist.

Endet das in der letzten Zeile aufgerufene Programm, so beendet sich die gesamte X-Session. Daher startet man aus diesen Dateien zunächst Desktop-Tools wie Uhren, Systemmonitore oder Startleisten mit abschließendem kaufmännischem Und und ruft als letzten Befehl ohne & das Tool auf, das beim Beenden auch die X-Session beenden soll – praktischerweise einen Window Manager.

Feinschliff

Doch was tun, wenn die erstellte Basiskonfiguration des X-Servers zu wünschen übrig lässt? Bei der Konfiguration über die mitgelieferten Programme können mehrere Auflösungen ausgewählt werden. Zum Wechseln zwischen ihnen verwenden Sie die Tastenkombination [Strg-Alt-Ziffernblock+/-]. Schalten Sie in eine geringere Auflösung, so erhalten Sie spätestens nun einen virtuellen Bildschirm mit den alten Inhalten, von denen nur ein Ausschnitt in der gewünschten Auflösung sichtbar ist. Es bleiben alle Anwendungen nach wie vor an Ort und Stelle. Fährt man mit der Maus an den vermeintlichen Desktop-Rand, so verschiebt sich der gesamte Bildschirminhalt, und bislang nicht Sichtbares rückt wieder ins Blickfeld.

Dies ist kein Bug, sondern ein Feature: Somit wird sichergestellt, dass keine Anwendung und kein wichtiger Button vom Desktop-Rand fallen kann. Wer von Anfang an einen virtuellen Screen vorgesetzt bekommt und dies nicht mag, sucht in seiner /etc/X11/XF86Config(-4) nach virtual und kommentiert diesen Eintrag mit einem # am Zeilenanfang aus oder aber eliminiert ungewünscht hohe Auflösungen aus der Konfigurationsdatei. Der virtuelle Desktop richtet sich nämlich prinzipiell nach der größtmöglichen konfigurierten und gültigen Auflösung.

Schriften

Häufig hört man Klagen über Schriftdarstellungen aus dem Legoland. Als Antwort werden oft die von Windows bekannten TrueType-Fonts oder das Schlagwort Antialiasing genannt. Doch weit gefehlt: Letzteres ist nicht die Lösung des Problems, sondern eine unscharfe Umgehung, und die TrueType-Fonts bieten lediglich dem Web-Browser weitere Schriftarten. Aber auch hierbei wird keineswegs an der Darstellungsqualität etwas verbessert. Eine gute Hilfe hierzu sind die Web-Seiten von Marcus Jodorf [9].

Etwas mühevoller als die simple Konfiguration der üblichen Postscript-Schriften ist die Installation von TrueType-Fonts. Während aktuelle XFree86-Versionen (4.x) diese direkt unterstützen, muss bei früheren Versionen ein spezieller Font-Server installiert werden (wer diesen bereits in Betrieb hat, kann ihn auch beim aktuellen XFree86 weiterverwenden – nur nötig ist er nicht mehr). xfstt ist ein solcher, dessen Installation ein Artikel des Linux-Magazins 01/1999 (online unter [10] erhältlich) beschreibt.

Wer XFree 4 einsetzt und TrueType-Schriften verwenden möchte, legt für diese zunächst ein eigenes Verzeichnis an. Es empfiehlt sich /usr/X11R6/lib/X11/fonts/truetype. Sobald es mit Schriftdateien (meist zu erkennen an der Dateiendung ttf) gefüllt ist, führen Sie in diesem Verzeichnis folgende Schritte durch:

ttmkfdir -o fonts.scale
 mkfontdir

Eventuell benötigen Sie hierfür ein zusätzliches Distributionspaket – so z. B. bei Debian, wo sich mkfontdir im optionalen Paket xutils befindet. Nach diesen Schritten passen Sie nur noch die Konfigurationsdatei /etc/X11/XF86Config(-4) an. Einer der Abschnitte darin ist die Section "Files". Dort fügen Sie einen neuen FontPath zu den bestehenden Einträgen hinzu:

FontPath "/usr/X11R6/lib/X11/fonts/truetype"

Einige schreiben alle Pfade in einen einzigen kilometerlangen FontPath-Eintrag, aber es dürfen auch mehrere Schriftpfad-Zeilen aufgeführt werden. Der Übersicht halber empfiehlt sich für jedes Schriftenverzeichnis ein eigener Eintrag.

Doch damit nicht genug: Neben einem Pfad zu den Schriften muss noch ein spezielles Modul geladen werden, das mit den TrueType-Fonts auch etwas anfangen kann. Dies ist das Modul freetype, welches der Section "Module" hinzugefügt wird:

Load "freetype"

Fortan zeigt XFree86 TrueType-Fonts an, nachzuprüfen mit dem Tool xfontsel.

Kommunikation

Doch was wäre X, wenn wir mit ihm nicht per Maus und Tastatur interagieren könnten? Eine typische Falle beim Einrichten der Tastatur ist der fehlende Eintrag

Option "XkbVariant" "nodeadkeys"

in der Section InputDevice (XFree86 Version 4.x) bzw.

XkbVariant "nodeadkeys"

in der Section "Keyboard" bei XFree86 3.3.x. Fehlt er, scheinen manche Tasten (z. B. [~] oder [@]) keine Wirkung zu zeigen. Erst nachdem die Leertaste gedrückt wird, erscheint das gewünschte Zeichen. Wer oft Sprachen mit Akzenten über Buchstaben schreibt, wird diesen Modus schätzen, allen anderen verlangsamen die toten Tasten eher den Schreibfluss. Kummer bereiten auch oft die praktischen Scroll-Räder an Mäusen. Hier sei auf die letzte LinuxUser-Ausgabe 11/2001 verwiesen, welche sich den Nagern ab Seite 48 ausführlich widmet.

Videotuning

Natürlich möchte man auch informiert sein, mit welchen Frequenzen XFree86 seinen Job verrichtet. Herauszubekommen ist dies unter anderem mit dem Programm xvidtune, mit dem auch allerhand justiert werden kann. Während Konfigurationstools wie xf86config eher fürs Grobe zuständig sind, übernimmt xvidtune das Feintuning. Dort kann der Bildschirm verschoben, gestaucht oder gestreckt werden, bis die Position für die Bildröhre erträglich ist.

Starten sollten Sie dieses Programm unbedingt aus einem X-Terminal (wie dem xterm) heraus, denn nur dort erfolgt eine Ausgabe: Ein Tastendruck auf den Button Show gibt im Terminal die aktuell einjustierte Modeline aus. Dies ist eine Steuerzeile, die dem X-Server sagt, wie der Monitor betrieben werden soll. Auch in der Konfigurationsdatei bei XFree86 3.3.x finden sich Modelines. Haben Sie nun eine bessere über xvidtune gefunden, so tragen Sie die Ausgabe in /etc/X11/XF86Config(-4) anstatt der bisherigen Modeline ein. Dies geschieht in der Section "Monitor". Ein Beispiel:

Modeline "1280x1024" 135.00 1280 1312 1456 1712 1024 1027 1030 1064

Bei XFree86 4.x existieren eventuell gar keine Modelines – in diesem Fall fügen Sie die ermittelte Modeline einfach in der gleichen Sektion ein.

Abbildung 4: xvidtune in Aktion

Fremdzugriff

Niemals gibt es einen Grund, eine ganze X-Session als root zu starten. Vielmehr startet man bei Bedarf die gewöhnliche User-X-Session und wechselt für administrative Zwecke in einem X-Terminal mit dem Befehl su - zum root-Account. Doch bald stellt man fest, dass der X-Server den Start von grafischen Programmen unterbindet: Error: Can't open display: oder Xlib: Client is not authorized to connect to Server ist seine Antwort.

Oft wird erklärt, ein xhost +localhost wäre die Lösung. Tatsächlich aber gibt xhost den Desktop für alle auf dem Rechner eingeloggten User frei, was schon bei einem nur mit dem Internet verbundenen Heimrechner ein Sicherheitsrisiko darstellt. Schlauer ist das Tool xauth, das exakt einem User gezielt den Desktop freigibt (Abbildung 5). Hierbei extrahiert der User einen Schlüssel aus seiner automatisch angelegten .Xauthority-Datei, übergibt ihn dem Remote-User, der ihn seiner .Xauthority hinzufügt. Anschließend muss jener seinen Anwendungen über die Variable DISPLAY noch mitteilen, auf welchem Desktop die Ausgabe erfolgen soll:

jo@planet ~> xauth extract schluesseldatei $DISPLAY
 jo@planet ~> su -
 root@planet:~> xauth merge /home/jo/schluesseldatei
 root@planet:~> DISPLAY=:0.0; export DISPLAY

Im Beispiel kann root nun auf dem Display von jo GUI-Programme starten. Wer KDE installiert hat, der braucht sich dank des Programms kdesu (einem grafischen su-Ersatz) um solche Dinge gar nicht mehr zu kümmern. Auch über xsu, sux, sudo -s und ssh ist dieses sogenannte X-Forwarding möglich. Ausführliche Informationen zum Fremdzugriff auf den X-Server sind im WWW [11,12] erhältlich; [11] finden Sie auch als Textdatei auf der CD (pju).

Abbildung 5: Fremdzugriff auf den X-Server

Glossar

multiuserfähig

Eine der Stärken eines Unix-Systems besteht darin, dass eine Vielzahl Anwender gleichzeitig auf einem Rechner arbeiten kann. Auch den X-Server können mehrere User zugleich verwenden.

remote

Wer remote – von der Ferne aus – auf einen Rechner zugreift, tut dies über ein Netzwerk und bedient ihn sozusagen fern. Das X-Window-System kann Anwendungen auf dem lokalen Display darstellen, die auf einem über ein Netzwerk angeschlossenen Rechner ablaufen.

Patches

"Fehlerbehebungsflicken" bei Software. Eine Patch-Datei beinhaltet lediglich die Differenzen zweier Versionen. Somit ist es möglich, die Änderungen (und nicht die neue Version komplett) zum User zu übertragen. Dies wird nicht nur verwendet, um Fehler im Programmcode zu beseitigen, sondern häufig auch, um eine alte Version auf den neuen Stand zu bringen.

VESA

Die "Video Electronics Standards Association" stellt Standards für die Kommunikation zwischen Grafikkarte und Monitor, die von praktisch allen gängigen VGA-Karten unterstützt werden.

Fokus

Ein aktives Fenster hat den Fokus und nimmt Tastatureingaben entgegen. Verliert ein Programm den Fokus, reagiert es nicht mehr auf Eingaben.

Raising

Beschreibt den Vorgang, bei dem eine verdeckte Anwendung in den Vordergrund kommt. Wird Raising unterstützt, so geschieht das beim Erhalt des Fokus oder durch einfaches Anklicken.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

Kommentare