Fink

Running X11 - 6. Probleme mit XFree86 beheben

6.1 Starte ich X11, wird es sofort beendet oder es stürzt ab.

Zu allererst: Nur keine Panik! Bei X11 kann einiges schief gehen und vieles davon führt zu einem Abbruch beim Start. Es ist also nicht wirklich ungewöhnlich. In diesem Abschnitt werden möglichst alle Fälle beschrieben, mit denen man rechnen muss. Als erstes muss man sich um folgende zwei Informationen kümmern:

Die version des Display-Server. Die Version des Display-Server findet man im Finder, wenn man einmal auf das Symbol von X11 oder XQuartz klickt und dann "Informationen" aus dem Menu "Ablage" auswählt. Dasselbe erreicht man auch mit Command-I.

Fehlermeldungen. Fehlermeldungen sind von enormer Bedeutung, um das jeweilige Problem einzugrenzen. Wie die Fehlermeldungen ausgegeben werden, hängt davon ab, wie sie X11 gestartet haben. Haben sie startx in einem Terminalfenster eingegeben, werden Fehlermeldungen direkt in gleichen Fenster ausgegeben. Oft muss man zum Lesen nach oben blättern. Haben sie X11 durch einen Doppleklick von X11 or XQuartz gestartet, landen die Fehlermeldungen im System-Log, den man mit dem Programm "Konsole" aus dem Ordner "Dienstprogramme" lesen kann. Man muss aufpassen, dass man die richtigen Meldungen liest, also die letzten.

Im folgenden einige Fehlermeldungen. In vielen Fällen ist die deutsche Übersetzung nicht bekannt, weshalb normalerweise das englische Original beschrieben wird.

_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root

Klassifizierung: Harmlos. X11 erzeugt versteckte Verzeichniss in /tmp, um "Socket-Dateien" für lokale Verbindungen zu speichern. Aus Sicherheitsgründen gibt X11 diesen Verzeichnissen den Eigentümer "root". Sie haben aber sowieso Schreibzugriff für alle, so dass X11 ohne Probleme läuft. (Notiz: Es ist recht schwierig, diesen Verzeichnissen den Eigentümer "root" zu geben, weil Mac OS X bei einem Neustart /tmp löscht und X11 nicht mit "root"-Rechten läuft und auch nicht muss.)

cat: /Users/chrisp/.Xauthority: No such file or directory

Klassifizierung: Meistens harmlos. Dieser Fehler hat anscheinend keinerlei Auswirkungen. Sie können den Fehler durch Eingabe des Kommandos touch .Xauthority im Heimatverzeichnis los werden.

Gdk-WARNING **: locale not supported by C library

Klassifizierung: Harmlos. Es bedeutet genau das, was es sagt und verhindert nicht das normale Funktionieren eines Programms. Weitere Information dazu finden sie weiter unten im Agbschnitt Locale.

Warning: no access to tty (Inappropriate ioctl for device).
Thus no job control in this shell.

Klassifizierung: Meistens harmlos. X11 startet im Hintergrund eine interaktive Shell, um die Startdatei des Klienten (.xinitrc) auszuführen. Dadurch braucht man keine Kommandos um den Pfad "PATH" zu setzen. Einige Shells beschweren sich, dass es keine Verbindung zu einem echten Terminal gibt, was aber ignoriert werden kann, weil diese Shell keine Job-Kontrolle durch Eingabe oder ähnliches benötigt.

The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:            Can't find file "unknown" for geometry include
>                   Exiting
>                   Abandoning geometry file "(null)"
Errors from xkbcomp are not fatal to the X server

Klassifizierung: Meistens harmlos. Wie die Nachricht sagt, ist der Fehler nicht fatal. So weit bekannt, nutzt X11 auf Mac OS X keine XKB-Erweiterungen. Einige Klienten-Programme können aber dennoch versuchen, diese Erweiterungen zu verwenden ...

startx: Command not found.

Klassifizierung: Fatal. Dieser Fehler kann auftreten, wenn Initialisierungsdateien nicht so aufgesetzt sind, dass das Verzeichnis mit den X11-Programmen, also /usr/X11/bin nicht in der Pfad-Variablen PATH eingetragen ist. Die Einstellung in Fink is normalerweise so, dass dies automatisch der Fall ist. Deshalb ist dieser Fehler ein Hinweis darauf, dass die Fink-Umgebung noch nicht richtig aufgesetzt ist. Führt man das Kommando

/sw/bin/pathsetup.sh

in einem Terminalfenster aus und startet ein neues Fenster, ist der Fehler meistens behoben.

_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn't already
running

Klassifizierung: Fatal. Dieser Fehler tritt auf, wenn zufällig mehrere Instanzen von X11 zur selben Zeit laufen oder wenn X11 durch einen Absturz nicht sauber beendet wurde. Es kann auch an einem Problem mit Zugriffsrechten auf Sockets für lokale Verbindungen liegen. Sie können versuchen, das Problem mit dem Kommando rm -rf /tmp/.X11-unix zu beheben. Ansonsten bleibt noch ein Neustart von Mac OS X, bei dem /tmp automatisch aufgeräumt und der Netzwerk-Stack zurückgesetzt wird.

Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server

Klassifizierung: Fatal. Das Klienten-Programm bekommt keine Verbindung mit dem Display-Server (X11 oder XQuartz), weil die Daten für die Authentifizierung nicht stimmen. Dies wird durch einige Installationen von VNC verursacht, indem sie X11-basierte Programme mittels sudo laufen lassen oder auch durch sonstige schräge Einstellungen. Normalerweise lässt sich dieser Fehler dadurch beheben, im Homeverzeichnis die Datei .Xauthority zu löschen (in ihr werden die Daten für die Authentifizierung abgespeichert) und eine neue, leere Datei zu erzeugen:

cd
rm .Xauthority
touch .Xauthority

Kein offensichtlicher Fehler:

Klassifizierung: Fatal. Der wohl häufigste Fehler beim Start von X11 ist eine fehlerhafte Start-Datei. Typischerweise ist eine Fensterverwaltung aus $HOME/.xinitrc oder $HOME/.xinitrc.d nicht installiert, nicht im PATH, läuft im Hintergrund statt im Vordergrund, weil ein '&' am Ende der Zeile steht. Wie auch immer läuft xinit bis zum Ende der Datei und interpretiert dies als Ende der Nutzer-Session und beendet X11. Wird eine Programm nicht gefunden, gibt es dazu eine Fehlermeldung im Terminalfenster oder dem Konsolen-Log. Hat aber die letzte Datei ein '&', gibt es keine Fehlermeldung, sondern X11 hört einfach auf. In den Abschnitten .xinitrc.d und Die Datei .xinitrc stehen weitere Details dazu.

Wollen sie das verhindern, vergessen sie nicht in der Start-Datei die Pfad-Variable PATH mit folgendem Kommando zu setzen:

. /sw/bin/init.sh

Außerdem sollte die Start-Datei mit einem langlebigen Programm enden, das nicht im Hintergrund läuft, z. B. einer Fenster- oder Sessionverwaltung ohne '&'. Zur Sicherheit kann man auch ein exec xterm als Rückfalloption hinzu fügen, falls die Fensterverwaltung nicht gefunden wird, weil sie sie z. B. selbst entfernt haben.

6.2 "Warning: locale not supported by C library"

Diese Warnungen sind recht häufig, aber harmlos. Sie bedeuten genau das, was sie sagen - Internationalisierung wird nicht durch Standard C-Bibliotheken unterstützt und das Programm wird die normalen englischen Text, Datumsformate und so weiter benutzen. Es gibt mehrere Möglichkeiten damit umzugehen:

Weiter: 7. Tipps für die Benutzung