Installation von XFree86 4.x

Nach der Installation des Basissytems stehen zunächst alle notwendigen Programme zur Verwaltung und Administration sowie für den grundlegenden Betrieb des Systems zur Verfügung. Dies umfasst noch keine grafische Benutzeroberfläche, diese wird auch vielfach (beispielsweise bei Serversystemen) nicht benötigt.

Debian GNU/Linux verwendet, wie alle anderen Linux-Distributionen auch, das X-Window-System zur Darstellung der grafischen Benutzeroberfläche. Die Treiber für die verschiedenen Grafikkarten werden vom XFree86-Team entwickelt (http://www.xfree86.org). XFree86 ist eine freie Implementation des X-Window-Systems, welches auf allen Unix-ähnlichen Betriebssystemen läuft. Die „86“ im Namen läßt vermuten, daß diese Software nur auf 3/4/586er-Prozessoren lauffähig ist. Ursprünglich wurde XFree86 auch dafür entwickelt, mittlerweile ist XFree86 aber auch auf anderen Prozessor-Architekturen lauffähig. Somit müssen Debian GNU/Linux-Benutzer auf keiner Architektur auf den Luxus einer grafischen Oberfläche verzichten.

X11 selbst entstand im Jahre 1986 als Ergebnis der beiden Vorgängerprojekte V und W. Im Laufe der Entwicklung wurden die grundlegenden Protokolle weiterentwickelt, blieben aber immer zu den älteren Versionen kompatibel. 1992 erschien dann die erste Version von X11 für PCs. Das XFree86-Projekt selbst startete mit einem Referenzserver für die PC-Plattform, welcher von Thomas Röll (heute Xi Graphics) geschrieben wurde, welcher dem Projekt zur Verfügung gestellt wurde.

Ungeachtet dessen ist es natürlich ohne weiteres möglich, auch mit Debian GNU/Linux in den Genuß einer grafischen Benutzeroberfläche zu kommen. Um eine Grafikkarte zu benutzen benötigt man, wie bei anderen Betriebssystemen auch, einen Treiber. Diese Treiber stehen in Form sogenannter „X-Server“ zur Verfügung. Es werden im folgenden die Installation dieses Servers und einige ausgewählte Anwendungen vorgestellt.

Wie bei allen neuen Treibern, die man in ein Debian GNU/Linux-System einbindet, ist es vorteilhaft, möglichst genaue Informationen über die verwendete Hardware zu haben. Bei der Vielfalt der auf dem Markt angebotenen Grafikkarten kann es da schon manchmal etwas schwierig sein, herauszufinden, welches Modell man in seinem Rechner hat. Gerade bei Komplettgeräten hat man nicht unbedingt die genaue Modellbezeichnung zur Hand. Schwierig wird es auch bei Motherboards mit einem integrierten Grafikchip. Eine Übersicht der unterstützten Chipsets für die zur Zeit aktuelle Version 4 von XFree86 finden Sie unter der URL: http://www.xfree86.org/4.1.1/Status.html . Bitte beachten Sie: Dies ist eine Liste der Grafikchips auf den jeweiligen Karten, Sie finden keine Namen der Kartenhersteller. Wenn größere Probleme bei der Installation der Grafikkarte auftauchen, müssen Sie im schlimmsten Fall Ihren Rechner öffnen und einen Blick auf die Grafikkarte werfen. Aber meist ist das nicht notwendig.

Mit der Version 4 von XFree86 wird nur noch ein einziger X-Server benötigt. Die Treiber für die verschiedenen Grafikkarten werden über Module, wie schon vom Linux Kernel her bekannt, geladen.

Zunächst müssen die benötigten Pakete installiert werden. Hierzu kann tasksel benutzt werden, hier ist das Paket „X window system“ auszuwählen. Natürlich können auch gezielt die benötigten Pakete, beispielsweise mit apt-get installiert werden. Dies sind mindestens: xserver-common und xserver-xfree86, xfonts-base sowie eventuell weitere Fonts und natürlich ein Window Manager und ein grafischer Desktop, wie in folgendem Beispiel:


debian:~# apt-get install xserver-xfree86 xserver-common xfonts-base gnome-core 
gnome-panel gnome-control-center sawfish-gnome gnome-session gnome-terminal
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  cpp cpp-2.95 defoma dialog docbook-xml esound-common file gconf gdk-imlib1 
  gnome-bin gnome-libs-data gnome-mime-data gnome-panel-data gs gs-common gsfonts 
  gsfonts-x11 imlib-base imlib1 libart2 libaudiofile0 libbz2-1.0 libcapplet0 
  libcapplet1 libcdparanoia0 libdps1 libesd0 libfreetype6 libgconf11 
  libgdk-pixbuf-gnome2 libgdk-pixbuf2 libgimpprint1 libglade-gnome0 libglade0 
  libglib1.2 libgmp3 libgnome-vfs-common libgnome-vfs0 libgnome32 libgnomeprint-bin 
  libgnomeprint-data libgnomeprint15 libgnomesupport0 libgnomeui32 libgnorba27
  libgnorbagtk0 libgtk1.2 libgtk1.2-common libgtkxmhtml1 libjpeg62 liboaf0 
  liborbit0 libpanel-applet0 libpaperg libpng2 librep9 libscrollkeeper0 libtiff3g 
  libungif4g libxaw7 libxml1 libxml2 libxslt1 libzvt2 oaf perl perl-modules rep 
  rep-gtk rep-gtk-gnome scrollkeeper sgml-base sgml-data xbase-clients 
  xfree86-common xlibmesa3 xlibs xutils
The following NEW packages will be installed:
  cpp cpp-2.95 defoma dialog docbook-xml esound-common file gconf gdk-imlib1 
  gnome-bin gnome-control-center gnome-core gnome-libs-data gnome-mime-data 
  gnome-panel gnome-panel-data gnome-session gnome-terminal gs gs-common
  gsfonts gsfonts-x11 imlib-base imlib1 libart2 libaudiofile0 libbz2-1.0 libcapplet0 
  libcapplet1 libcdparanoia0 libdps1 libesd0 libfreetype6 libgconf11 
  libgdk-pixbuf-gnome2 libgdk-pixbuf2 libgimpprint1 libglade-gnome0 libglade0
  libglib1.2 libgmp3 libgnome-vfs-common libgnome-vfs0 libgnome32 libgnomeprint-bin 
  libgnomeprint-data libgnomeprint15 libgnomesupport0 libgnomeui32 libgnorba27 
  libgnorbagtk0 libgtk1.2 libgtk1.2-common libgtkxmhtml1 libjpeg62 liboaf0 liborbit0 
  libpanel-applet0 libpaperg libpng2 librep9 libscrollkeeper0 libtiff3g libungif4g 
  libxaw7 libxml1 libxml2 libxslt1 libzvt2 oaf perl perl-modules rep rep-gtk 
  rep-gtk-gnome sawfish-gnome scrollkeeper sgml-base sgml-data xbase-clients 
  xfonts-base xfree86-common xlibmesa3 xlibs xserver-common xserver-xfree86 xutils 
0 packages upgraded, 87 newly installed, 0 to remove and 0  not upgraded.
Need to get 0B/41.7MB of archives. After unpacking 117MB will be used.
Do you want to continue? [Y/n]

In der Version 3.0 von Debian verwenden fast alle Pakete zur Konfiguration das neu eingeführte „debconf“ System. Dies ermöglicht es vor der Installation eines Paketes alle benötigten Daten vom Administrator zu erfragen. Für die XFree 4 Pakete ist dies auch der Fall.

Natürlich ist es dem Systemadministrator freigestellt die Konfigurationsdateien von Hand, unter Umgehung von Debconf, zu bearbeiten. In wenigen exotischen Fällen kann es notwendig sein Änderungen direkt in der Datei /etc/X11/XF86Config-4 vorzunehmen. Die ersten beiden Dialoge beschäftigen sich mit genau dieser Frage, wie hier gezeigt ist „Yes“ auszuwählen um die Konfigurationsdaten für das Xwrapper Script via Debconf zu verwalten. Mit dem Xwrapper wir festgelegt welche XFree Version (es können gleichzeitig sowohl die Version 3.x als auch 4.x installiert werden) verwendet werden soll und mit welchen Parametern diese gestartet wird.

Abbildung 5-30. XFree 4.x Installation - Debconf Xwrapper

Im zweiten Schritt kann auch die Konfigurationsdatei für XFree86 selbst unter die Kontrolle von Debconf gestellt werden.

Abbildung 5-31. XFree 4.x Installation - Debconf XFree86 Konfigurationsdatei

Mit XFree86 4 steht nur noch ein XServer zur Verfügung, die Treiber für die einzelnen Grafikkarten werden als Module hinzugeladen und können im nächsten Schritt aus einer Liste ausgewählt werden.

Abbildung 5-32. XFree 4.x Installation - Treiber

Xfree86 unterstützt in der Version 4 Treiber für die verschiedenen Grafikkarten die als Modul hinzgeladen werden können. Hier kann der für die verwendete Karte benötigte Treiber ausgewählt werden. Wenn Sie sich nicht sicher sind welche Karte in Ihrem System steckt, so können Sie das Programm lspci zur Hilfe nehmen.


surimi:# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02)
00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
00:0d.0 SCSI storage controller: Advanced Micro Devices [AMD] 53c974 [PCscsi] (rev 10)
00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
00:11.0 Multimedia video controller: Brooktree Corporation Bt848 TV with DMA push (rev 12)
00:13.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 01)
00:13.1 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 01)
01:00.0 VGA compatible controller: Number 9 Computer Company Revolution 4 (rev 02)

lspci ist ein separates Paket welches Sie ggf. erst installieren müssen. Mit Unix Bordmittel läßt sich ein ähnliches Ergebniss mit dem Kommando cat /proc/pci erziehlen. Die Ausgabe von lspci ist etwas „aufgeräumter“. In dem hier gezeigten Beispiel ist die letzte Zeile entscheidend, suchen Sie in der Ausgabe nach einer Zeile die mit „VGA“ beginnt. Neben dem Hersteller der Karte (Number Nine) wird auch der Typ (Revolution 4) angezeigt. Bei sehr neuen Karten kann es vorkommen das diese noch nicht erkannt werden, die bedeutet aber nicht das die Karte nicht doch mit einem XFree Treiber funktioniert. Die meisten Karten funktionieren auch mit dem Treiber eines älteren Modells.

Auch wenn Sie über eine Grafikkarte mit AGP Anschluss verfügen, können die Informationen wie beschrieben über lspci abgerufen werden. Der Linux Kernel macht an dieser Stelle keine Unterscheidung.

Abbildung 5-33. XFree 4.x Installation - Kernel Framebuffer

Hier kann bestimmt werden ob die Kernel-Framebuffer-Schnittstelle verwendet werden soll.

Abbildung 5-34. XFree 4.x Installation - Tastatur

XFree4 kann auf unterschiedliche Hardwarearchitekturen eingesetzt werden. Diese verwenden zum Teil sehr unterschiedliche Tastaturen. Auf den meisten Systemen kann die vorgegebene Einstellung belassen werden.

Abbildung 5-35. XFree 4.x Installation - Tastatur Schritt 2

Als nächstes folgt eine Hilfe zur Konfiguration des Tastaturtyps. Es sind in den verschiedenen Ländern sehr vielen unterschiedliche Tastaturen im Umlauf, die Anzahl und Belegung der Tasten unterscheidet sich dabei jeweils. Es werden einige Beispiele gezeigt für sinnvolle Werte.

Abbildung 5-36. XFree 4.x Installation - Tastatur Schritt 3

Hier ist der gewünschte Tastaturtyp anzugeben.

Abbildung 5-37. XFree 4.x Installation - Tastatur Schritt 4

Im nächsten Schritt kann das Layout der Tastatur gewählt werden, für den deutschsprachigen Bereich ist die Angabe von „de“ ausreichend.

Abbildung 5-38. XFree 4.x Installation - Tastatur Schritt 5

Hier kann das Verhalten bei der Eingabe von Akzenten auf der Tastatur verändert werden.

Abbildung 5-39. XFree 4.x Installation - Tastatur Schritt 5

Abbildung 5-40. XFree 4.x Installation - Maus Schnittstelle

Wählen Sie hier die Schnittstellen an der die Maus angeschlossen ist. Serielle Mäuse sind meist über einen 9-poligen, trapezförmigen Stecker angeschlossen. Ein PS/2 Anschluss ist rund mit 5 Anschlüssen, ein USB Anschluss hat einen flachen, rechteckigen Stecker. Andere Anschlussformen sind eher unüblich.

Abbildung 5-41. XFree 4.x Installation - Maus Protokoll

Hier ist das Protokoll der Maus auszuwählen. Bei PS/2 und seriellen Mäusen sind verschiedene Protokolle gebräuchlich, manchmal sind auf der Verpackung oder der Unterseite der Maus Hinweise zur finden. Im Zweifelsfall müssen verschiedene Alternativen ausprobiert werden.

Abbildung 5-42. XFree 4.x Installation - Monitor Typ

Hier ist der Typ des Monitors auszuwählen. Wenn kein LCD Monitor angeschlossen ist so ist hier „No“ auszuwählen.

Abbildung 5-43. XFree 4.x Installation - Monitor horizontaler Sync

Es können hier die Werte für die horizontaler Synchronisation des Monitors angegeben werden. Diese sind ggf. dem Handbuch zu entnehmen.

Abbildung 5-44. XFree 4.x Installation - Monitor vertikaler Sync

Es können hier die Werte für die vertikale Synchronisation des Monitors angegeben werden. Diese sind ggf. dem Handbuch zu entnehmen.

Abbildung 5-45. XFree 4.x Installation - Monitor horizontaler Sync

Hier können verschiedene Auflösungen gleichzeitig ausgewählt werden mit denen der X-Server betrieben werden soll. Zwischen diesen Auflösungen kann im laufenden Betrieb umgeschaltet werden. Der X-Server wird immer mit der höchsten hier ausgewählten Auflösung starten.

Abbildung 5-46. XFree 4.x Installation - Auflösungen

Abschliessend kann noch die Farbtiefe des X-Servers gewählt werden. Moderne Grafikkarten verfügen über ausreichend Speicher um auch in hohen Auflösungen mit 24 Bit arbeiten zu können.

Die eingegebenen Werte werden in der Systemdatenbank (via debconf) gespeichert. Wenn Sie später Änderungen an den gespeicherten Werten vornehmen möchten, so kann hierzu das Kommando dpkg-reconfigure xserver-xfree86 verwendet werden.

dexconf

Während der Installation von XFree 86 wurden verschiedene Werte abgefragt und mittels debconf in der Systemdatenbank gespeichert. Aus diesen Angaben wurde eine Konfigurationsdatei erzeugt, so das das X Window System lauffähig ist. Wenn Sie von Hand Veränderungen an der Konfigurationsdatei vorgenommen haben oder gar die Datei versehentlich glöscht haben, so sind die ursprünglichen Einstellungen nicht verloren.

Um die Daten aus der Datenbank auszulesen und eine Konfigurationsdatei zu erzeugen kann das Programm dexconf verwendet werden. Mit dexconf können keine Werte in der Datenbank verändert werden, benutzen Sie hierzu dpkg-reconfigure und den Namen des zu konfigurierenden Paketes.

Ein simpler Aufruf von dexconf erzeugt die Konfigurationsdatei /etc/X11/XF86Config-4 mit den Werten aus der Datenbank. Weitere Optimierungen können von Hand vorgenommen werden, oder Sie greifen auf eines der folgenden Tools zurück. Im einfachsten Fall gelingt eine Neukonfiguration des X-Servers mittels dpkg-reconfigure xserver-xfree86.

xf86cfg

Auch mit der Version 4 von XFree86 wird ein eigenständiges Administrationswerkzeug geliefert. Zu beachten ist das eine Konfiguration von XFree mit diesem Programm nicht via Debconf verwaltet wird.

xf86cfg ist auf die neuen Funktionen von XFree86 4 angepasst und unterstützt die Verwaltung von mehreren Grafikkarten und Monitoren sowie verschiedene gleichzeitig angeschlossenen Eingabegeräte wie zum Beispiel mehreren Mäuse oder eine Maus und ein Grafiktablett.

Beim ersten Start von xf86cfg wird die aktuelle Konfigurationsdatei eingelesen und die dort bereits definierten Geräte dargestellt.