http://www.dcoul.de/faq/

5. Fragen zu X11 und X-Programmen

  1. Warum funktionieren unter XFree bei 16Bit Farbtiefe (65535 Farben) die höheren Auflösungen nicht mehr, obwohl sie unter Windows mit der gleichen Hardware möglich sind?
  2. Nach einer Weile funktioniert meine Maus unter X nicht mehr richtig, ich kann keine Fenster mehr verschieben und auch (manche) Knöpfe nicht mehr betätigen. Woran liegt das?
  3. Warum kann ich KDE nicht starten? Das Kommando startkde bringt etliche Fehlermeldungen der Art k*: cannot connect to X server.
  4. Warum kann ich in Netscape 4 weder Mail- noch Newsserver angeben? Netscape meldet nur Mail host foo is unknown, News host foo is unknown bzw. <Protokoll> proxy foo is unknown.
  5. Wie kann ich unter Linux Divx-, wmf-, oder asf-Videos wiedergeben
  6. Wie kann ich unter Linux Quicktime-Videos mit Sorenson Codec wiedergeben?
  7. Wieso bekomme ich die Fehlermeldung Can't find X includes. Please check your installation and add the correct paths, wenn ich ein Programm compilieren will, das X benutzt?
  8. Wenn ich mit su als root versuche ein X11-Programm zu starten, erhalte ich die Fehlermeldung Error: Can't open display: oder Xlib: connection to ":0.0" refused by server Xlib: Client is not authorized to connect to Server Error: Can't open display: :0.0.
  9. Wie kann man das Rad der Scroll-Mäuse unter Linux nutzen?
  10. Wie kann ich das Scrollrad meiner Maus im Adobe Acrobat Reader nutzen?
  11. Kann man mehrere Monitore gleichzeitig unter Linux betreiben?
  12. Wie kann ich meine von XFree86 nicht unterstützte Grafikkarte trotzdem im Grafikmodus benutzen?
  13. Werden Grafikkarten mit Kyro- oder Kyro2-Chip von XFree86 unterstützt?
  14. Wird die ATI Radeon VE von XFree86 unterstützt?
  15. Mein Bildschirm wird auf unter X11 nach einiger Zeit schwarz. Wie schalte ich das ab?
5.1 Warum funktionieren unter XFree bei 16Bit Farbtiefe (65535 Farben) die höheren Auflösungen nicht mehr, obwohl sie unter Windows mit der gleichen Hardware möglich sind?
Wenn XFree beim Start des X-Servers eine Meldung der Art

(--) S3: Clock for mode "1024x768" is too high for the configured hardware.
Limit is 80.000 MHz
(--) S3: Removing mode "1024x768" from list of valid modes.

ausgibt, liegt es daran, dass nach der Spezifikation des Grafikchip-Herstellers die maximale Pixelclock, d.h. die maximale Taktrate, mit der der RAMDAC (der Teil der Grafikkarte, der für das Auslesen der Pixeldaten und deren Umwandlung in ein Bildsignal zuständig ist) betrieben werden darf, bei höheren Farbtiefen als 8 Bit begrenzt ist. So dürfen beispielsweise die S3 Trio64-Chips bei 8 Bit Farbtiefe mit 135 MHz Pixelclock betrieben werden, bei 16 Bit Farbtiefe aber nur noch mit maximal 80 MHz.
In dem obenstehenden Beispiel ist für den Modus 1024x768 in der XF86Config eine Pixelclock von mehr als 80 MHz eingetragen, was bei 16 Bit Farbtiefe das Limit überschreitet, weshalb XFree den Modus nicht zulässt.
Häufig halten die Windows-Treiber die Spezifikation des Chipherstellers im Gegensatz zu XFree nicht ein, so dass sie auch in 16 Bit mehr als den eigentlich erlaubten Takt zulassen. Das funktioniert in der Praxis zwar meistens, muss es aber nicht immer und kann zum frühzeitigen Defekt der Grafikkarte führen, da der Chip bei zu hohem Takt überhitzt werden kann (die in Wärme umgesetzte Verlustleistung steigt mit der Frequenz).

Ab XFree 3.3.1 gibt es eine Option, mit der man die maximale Taktrate, die man seiner Grafikkarte in Abhängigkeit von der Farbtiefe zumuten will, in der XF86Config einstellen kann. Die Benutzung erfolgt auf eigene Gefahr. Wer die vorgesehenen Limits überschreiten will, sollte genau wissen, was er tut!

Im o.g. Beispiel (S3 Trio 64) lässt sich bei 80MHz Pixelclock immer noch ein 1024x768-VESA-Modus mit 70Hz Bildwiederholfrequenz nutzen. Mit einer angepassten Modeline sind auch noch 75 oder 76 Hz möglich.
5.2 Nach einer Weile funktioniert meine Maus unter X nicht mehr richtig, ich kann keine Fenster mehr verschieben und auch (manche) Knöpfe nicht mehr betätigen. Woran liegt das?
Wahrscheinlich ist NumLock (Taste oben links am 10er-Tastenblock auf der Tastatur) aktiviert. Unter X11 ist die NumLock-Taste (genau wie Shift, Ctrl, Alt etc.) ein sogenannter Modifier-Key, d.h. eine Taste, die einer anderen Taste eine andere Bedeutung verleiht. Eine Maustaste ist auch eine Taste in diesem Sinne, so dass NumLock+Maustaste etwas Anderes ist als Maustaste. Wenn ein Programm so geschrieben bzw. konfiguriert ist, dass es bei Mausereignissen (z.B. Maustaste gedrückt) die Modifier-Keys nicht ignoriert, tritt das oben beschriebene Verhalten auf.
Beim Windowmanager FVWM2 kann man z.B. für die windowmanager-eigenen Funktionen angeben, auf welche Modifier reagiert werden soll. Nähere Informationen dazu bietet die Manpage unter dem Schlüsselwort Key.
Es ist auch möglich, das Problem zu umgehen indem man X so konfiguriert, dass der 10er-Block auch ohne aktivierten NumLock Zahlen produziert. Dazu muss man folgende Zeilen in ~/.xmodmap bzw. /etc/X11/Xmodmap einfügen:
! Nummerntastatur
keycode 90 = KP_0
keycode 91 = KP_Decimal
keycode 87 = KP_1
keycode 88 = KP_2
keycode 89 = KP_3
keycode 83 = KP_4
keycode 84 = KP_5
keycode 85 = KP_6
keycode 79 = KP_7
keycode 80 = KP_8
keycode 81 = KP_9
keycode 112 = KP_Divide
keycode 63 = KP_Multiply
keycode 82 = KP_Subtract
keycode 86 = KP_Add

--
5.3 Warum kann ich KDE nicht starten? Das Kommando startkde bringt etliche Fehlermeldungen der Art k*: cannot connect to X server.
KDE ist ein Desktop-Environment, d.h. es setzt auf einem laufenden X-Server auf. Das Script startkde startet nicht den X-Server, sondern lediglich die KDE-eigenen Programme.
Am einfachsten ist es, startkde in die Datei .xinitrc bzw. .xsession im Homeverzeichnis einzutragen. Bei Distributionen, die beim Start von X die Variable WINDOWMANAGER auswerten (z.B. SuSE), genügt es, diese auf startkde zu setzen, da diese Variable in .xinitrc bzw. .xsession ausgewertet wird.
5.4 Warum kann ich in Netscape 4 weder Mail- noch Newsserver angeben? Netscape meldet nur Mail host foo is unknown, News host foo is unknown bzw. <Protokoll> proxy foo is unknown.
Netscape 4 versucht offenbar, die eingegebenen Hostnamen sofort aufzulösen, um die IP-Adresse zu ermitteln, was im Offline-Betrieb ohne Zugriff auf einen Nameserver in der Regel nicht möglich ist und zu der vorgenannten Fehlermeldung führt. Die entsprechenden Einstellungen müssen also entweder im Online-Betrieb vorgenommen werden, oder die entsprechenden Hostnamen müssen zusammen mit ihren IP-Adressen in /etc/hosts eingetragen werden, so dass auch im Offline-Betrieb eine Namensauflösung möglich ist. Alternativ kann man in den Netscape-Preferences auch direkt die IP-Adresse des jeweiligen Mail- bzw. Newsservers angeben.
5.5 Wie kann ich unter Linux Divx-, wmf-, oder asf-Videos wiedergeben
xanim scheitert leider daran, avifile und MPlayer kommen aber weitgehend problemlos damit zurecht.
5.6 Wie kann ich unter Linux Quicktime-Videos mit Sorenson Codec wiedergeben?
Die aktuelle Version von MPlayer(Stand: 2002-01-05) kann das.
5.7 Wieso bekomme ich die Fehlermeldung Can't find X includes. Please check your installation and add the correct paths, wenn ich ein Programm compilieren will, das X benutzt?
Das liegt daran, dass du die zu X gehörenden Headerfiles nicht installiert hast. Je nach Distribution hat das Paket, das diese enthält, einen anderen Namen; bei Debian z.B. heißt es "xlib6g-dev", bei SuSE bis Version 8.1 "xdevel", bei neueren Versionen ebenso wie bei RedHat "XFree86-devel".
5.8 Wenn ich mit su als root versuche ein X11-Programm zu starten, erhalte ich die Fehlermeldung Error: Can't open display: oder Xlib: connection to ":0.0" refused by server Xlib: Client is not authorized to connect to Server Error: Can't open display: :0.0.
Im Artikel Alle Macht dem User von Jo Moskalewski werden die meisten gängigen Lösungsansätze für dieses Problem erläutert. Der Text ist unter http://www.dcoul.de/infos/user2root.html zu finden, überdies wird er wöchentlich in de.comp.os.unix.linux.infos gepostet. Eine nette Alternative/Abrundung der dort genannten Möglichkeiten ist das Skript sux.
5.9 Wie kann man das Rad der Scroll-Mäuse unter Linux nutzen?
Eine einheitliche Unterstützung existiert bisher leider nicht, da diese Funktionalität noch recht neu ist. In der Regel sind die Funktionen des Rades über die Maustasten 4 bzw. 5 implementiert, so dass sie sich prinzipiell in allen Programmen nutzen lassen, die diese Tasten abfragen können. Unter der URL http://www.inria.fr/koala/colas/mouse-wheel-scroll/ sind einige Möglichkeiten beschrieben.
Mit http://jcatki.dhs.org/imwheel/ kann man wiederum Klicks der Maustasten je nach Programm auf verschiedene Tastendrücke abbilden. Dies ist aber meist nicht nötig, da sich die meisten Programme über X-Ressourcen so konfigurieren lassen, dass sie direkt auf die entsprechenden "virtuellen Mausklicks" reagieren.
5.10 Wie kann ich das Scrollrad meiner Maus im Adobe Acrobat Reader nutzen?
Trage folgendes in ~/.Xresources ein und rufe anschließend xrdb -merge ~/.Xresources auf. - Jetzt sollte das Mausrad zumindest auf dem Scrollbalken funktionieren und bei gedrückter Umschalttaste um ganze Seite, in Verbindung mit Strg um ein Zeile und ohne zusätzliche Taste um fünf Zeilen scrollen.
        AcroRead*XmScrollBar.baseTranslations: #augment \n\
        Ctrl<Btn4Down>: IncrementUpOrLeft(0) IncrementUpOrLeft(1)\n\
        Ctrl<Btn5Down>: IncrementDownOrRight(0) IncrementDownOrRight(1)\n\
        Shift<Btn4Down>: PageUpOrLeft(0) PageUpOrLeft(1)\n\
        Shift<Btn5Down>: PageDownOrRight(0) PageDownOrRight(1)\n\
        <Btn4Down>: IncrementUpOrLeft(0) IncrementUpOrLeft(0) \
        IncrementUpOrLeft(0) IncrementUpOrLeft(0) IncrementUpOrLeft(0) \
        IncrementUpOrLeft(1) IncrementUpOrLeft(1) IncrementUpOrLeft(1) \
        IncrementUpOrLeft(1) IncrementUpOrLeft(1)\n\
        <Btn5Down>: IncrementDownOrRight(0) IncrementDownOrRight(0) \
        IncrementDownOrRight(0) IncrementDownOrRight(0) \
        IncrementDownOrRight(0) IncrementDownOrRight(1) \
        IncrementDownOrRight(1) IncrementDownOrRight(1) \
        IncrementDownOrRight(1) IncrementDownOrRight(1)\n
        
5.11 Kann man mehrere Monitore gleichzeitig unter Linux betreiben?
Seit XFree86 Version 4.0 gibt es Unterstützung für den Betrieb mehrerer Monitore und Grafikkarten unter X11. Das Xinerama-HOWTO gibt eine kurze Einführung zur Konfiguration. In der Console ist dies mittels des noch experimentellen Framebuffer Devices möglich.
5.12 Wie kann ich meine von XFree86 nicht unterstützte Grafikkarte trotzdem im Grafikmodus benutzen?
Dazu gibt es drei Möglichkeiten: Jede VGA-kompatible Karte funktioniert mit dem VGA16-X-Server von XFree3 bzw. dem Treiber "vga" von XFree4. Dieser arbeitet im Standard-VGA-Modus, den jede VGA-Karte unterstützt. Da VGA leider nur bis maximal 640x480 bei 60Hz Bildwiederholrate und 16 Farben spezifiziert ist, kann auch der XF86_VGA16 nicht mehr darstellen. Die interessantere Möglichkeit für moderne Grafikkarten ist das VESA-Framebuffer-Device, welches es seit Kernelversion 2.2 gibt, in Verbindung mit dem Framebuffer-X-Server XF86_FBDev (bei XFree4 Treiber "fbdev"). Voraussetzung für deren Benutzung ist eine Grafikkarte mit VESA-BIOS 2.0 oder neuer.
Dabei wird mit folgendem Trick gearbeitet: der Bootloader aktiviert (noch im Real-Mode) über das VESA-BIOS den Grafikmodus und fragt ebenfalls über das VESA-BIOS die Lage des Bildspeichers ab. Diese Daten werden an den Kernel übergeben, welcher einfach den durch das VESA-BIOS konfigurierten Videocontroller verwendet, so dass der Kernel und auch der auf dessen Routinen aufsetzende X-Server XF86_FBDev nichts über den Videocontroller der Karte wissen muss, sondern einfach die voreingestellten Werte übernimmt.
Die großen Nachteile dabei:
  • Da der X-Server den Videocontroller nicht direkt anspricht, kann er keinerlei Beschleunigungsfunktionen nutzen, d.h. X ist relativ langsam.
  • Es sind nur die Videomodi möglich, die das VESA-BIOS zur Verfügung stellt, und die bieten bei den meisten Grafikkarten leider nur 60Hz Bildwiederholrate.
    Bei Karten mit VESA BIOS Version 3 lässt sich diese Beschränkung dem DOS-Programm vbehz beheben. Man startet zuerst DOS, ruft vbehz auf und bootet nachher mit loadlin Linux.
Informationen zur Konfiguration des VESA-Framebuffer-Devices sind im Linux-Kernelsource unter /usr/src/linux/Documentation/fb/vesafb.txt zu finden.
Die dritte Möglichkeit bietet der Treiber "vesa" von XFree4. Er spricht die Grafikkarte im VESA-Modus an, ohne den Umweg über den Framebuffer zu gehen, dadurch ist die Konfiguration einfacher, die oben erwähnten Beschränkungen bleiben aber bestehen.
5.13 Werden Grafikkarten mit Kyro- oder Kyro2-Chip von XFree86 unterstützt?

Seit Ende Februar 2002 sind unter http://www.powervr.com/Downloads/index.asp binäre Treiber erhältlich. Die Treiber bieten 2D- und 3D-Beschleunigung und verwenden DRI. Sie liegen als rpm-Paket für die Kernel von Suse 7.3 (Kernel 2.4.10-4GB), RedHat 7.2 (Kernel 2.4.7-10, 2.4.9-31) sowie Mandrake 8.1 (Kernel 2.4.8-26mdk, 2.4.8-34.1mdk) und 8.2 (Kernel 2.4.18-6mdk), sowie kernelunabhängig als src.rpm (wenn man eine RPM-basierte Distribution mit einem anderen Kernel verwendet) und tar.gz-Paket vor.

Die Treiber stehen unter einer recht restriktiven Lizenz und liegen nicht im Quelltext vor, daher ist es (zumindest vorläufig) nicht möglich, sie bei diverse Linuxdistribution mitzuliefern oder gar in XFree86 aufzunehmen.

Installationsanleitung und Liste bekannter Probleme (Unterstützung für mehrere Grafikkarten, angepasste Modelines - nur Anpassung der Bildwiederholfrequenz - und Betrieb auf SMP-Systemen) ist in http://www.powervr.com/Downloads/Drivers/2-01-21-0007/README zu finden.

5.14 Wird die ATI Radeon VE von XFree86 unterstützt?
Ja, seit Version 4.1.0 gibt es Support für diese Grafikkarte inklusive DRI (3D-Beschleunigung).
Solltest du trotzdem kein Bild erhalten, hilft es vermutlich, den Monitor (mittels dem der Karte beiliegenden Adapter) am DVI-Anschluss anzuschließen und den Computer neu zu starten.
5.15 Mein Bildschirm wird auf unter X11 nach einiger Zeit schwarz. Wie schalte ich das ab?
Unter X11 existiert der Befehl xset, der korrekte Aufruf wäre xset s noblank. Für die Energiespar-Funktionen existiert weiterhin die Option dpms. Der Energiespar-Modus kann auch in der Konfigurationsdatei des X-Servers komplett abgeschaltet werden; näheres findet man in XF86Config-4 (5)(XFree 4.*) bzw. XF86Config (7).