Hi Andre,
On Fri, Sep 08, 2006 at 19:56:06 +0200, Tietz, Andre wrote:
Und was soll mir das jetzt sagen? Das versteh ich nicht.
unicate@unicate:cat xtrace.log 31661 execve("/etc/X11/xorg.conf", ["/etc/X11/xorg.conf"], [/* 41 vars */]) = 0
Kann einer von euch damit was anfangen?
Ich gehe mal davon aus, dass es ein Fehler beim Abtippen ist. execve("/etc/X11/xorg.conf" ... steht da bestimmt nicht, sondern execve("/usr/X11R6/bin/Xorg" ...
Ausserdem ist das nur die erste Zeile einer Datei, die etwa 22000 Zeilen lang sein muesste. Die muss man natuerlich nicht von vorne bis hinten durchlesen, aber man kann nach interessanten Stellen suchen.
Vielleicht noch ein paar Worte zu strace. Dieses Tool startet das nachfolgende Kommando und protokolliert dabei saemtliche Systemrufe, die der Prozess macht. So kann man beispielsweise sehen, welche Dateien geoeffnet werden etc.
Durch die Option -f verfolgt strace auch Prozesse, die vom urspruenglichen Prozess aufgerufen werden (fork und exec). Das wird in diesem Fall gebraucht, um das Verhalten des von Xorg aufgerufenen xkbcomp (X Keyboard Compiler) zu sehen, insbesondere ob ihm irgendwelche Dateien/Verzeichnisse fehlen. Nicht jeder fehlgeschlagene Dateizugriff fuehrt zum Abbruch, z.B. werden die shared Libraries in verschiedenen Verzeichnissen gesucht. Interessant sind die Zugriffe auf die Keymap-Beschreibungen. Dazu wechselt der xkbcomp irgendwann ins Verzeichnis /usr/X11R6/lib/X11/xkb (im strace-log erkennbar als chdir("/usr/X11R6/lib/X11/xkb")) und beginnt dann, Dateien in den Verzeichnissen rules, symbols etc. zu lesen. Entweder faellt er dort auf die Nase, oder spaeter beim Schreiben der Keymap ins Verzeichnis compiled.
Gruss, Chris