ubuntuusers.de

xsession-errors

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Xenial nur Kubuntu

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Die Datei ~/.xsession-errors befindet sich im Homeverzeichnis. Wie der Name schon sagt, dient sie dazu, Fehlermeldungen, Warnungen und anderes in einer Datei zu sichern. Tritt ein Fehler in einer Anwendung auf, welche auf dem XServer läuft, werden die Fehlermeldungen in dieser Datei gespeichert. Daher ist sie als Ausgangspunkt für Melden von Fehlern, wie z.B. auf Launchpad, wichtig.

Probleme

Riesige Datei

Fälschlicherweise gibt es Anwendungen, die ihre gesamte Terminalrückgabe und/oder andere unwichtige Teile in die ~/.xsession-errors ausgeben. Diese Datei wächst dann in wenigen Stunden sehr stark und belegt viel, oder gar den gesamten Platz auf der Partition.

Festplatte vom Ruhezustand abhalten

Durch das ständige Schreiben in die Datei kann es vorkommen, dass es die Festplatte davon abhält in den Ruhemodus zu gehen. Das kann bei mobilen Geräten zu einer verringerten Akkulaufzeit führen. In extremen Fällen kann es sogar vorkommen, dass eine Festplatte durch massive Schreibzugriffe von defekten Programmen merklich ausgebremst wird.

Lösungen und Umgehungen

KDE Debugausgabe deaktivieren

Diese Option sollte voreingestellt sein. Man muss sie also nur deaktivieren, wenn man sie auch aktiviert hat. Dafür ruft man in der Konsole das Programm

kdebugdialog 

auf und wählt "Sämtliche Debug-Ausgaben deaktivieren". Danach ist ein Großteil der Ausgabe in die Datei verschwunden.

xsession-errors deaktivieren

Möglich ist auch die Datei ganz zu deaktivieren.

Achtung!

In diesem Fall verliert man jegliche Information über Programmabstürze und Fehler, die ansonsten in die Datei geschrieben worden wären. Will man also Fehler melden, sollte man es nicht deaktivieren oder vor dem Melden wieder aktivieren und das Fehlverhalten noch einmal nachstellen, um eine aussagekräftigere Fehlerausgabe zu bekommen.

Hierzu öffnet man einen Editor[1] mit Root-Rechten[2]. Nun fügt man folgendes ein

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#! /bin/sh
# This is a -*- shell-script -*- fragment called by /etc/X11/Xsession

# Redirect all errors to /dev/null instead of $ERRFILE
# (~/.xsession-errors by default), to avoid filling up users home
# directory with error messages.  Allow the user to disable this by
# creating ~/.xsession-errors-enable

if [ ! -f "$HOME/.xsession-errors-enable" ] ; then
  # Report the change to the log file before switching
  echo "info: Redirecting xsession messages to /dev/null."
  echo "info: touch '$HOME/.xsession-errors-enable' to disable this."
  exec >> /dev/null 2>&1
fi

Ist das erledigt speichert man es unter /usr/share/X11/xorg.conf.d/05-noerrfile. Nun muss man die Datei noch ausführbar machen. Hierfür öffnet man ein Terminal[3] und führt folgenden Befehl mit Root Rechten[2] aus:

chmod +x /usr/share/X11/xorg.conf.d/05-noerrfile 

Nach einem Neustart sollte kein Programm mehr in die ~/.xsession-errors schreiben.

Um die Ausgabe in der ~/.xsession-errors wieder zu aktivieren, erstellt man einfach eine leere Datei mit dem Namen ~/.xsession-errors-enable im Nutzerverzeichnis.

Diese Revision wurde am 19. September 2017 09:42 von nitsnatsnok erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Tuning, XServer