linuxaddict:cinnamon:xsession-errors

.xsession-errors

Le fichier ~/.xsession-errors est le registre des erreurs ou alertes survenues lors du fonctionnement de votre interface graphique, en l'occurrence Cinnamon, ou du serveur graphique auquel fait appel Cinnamon pour afficher les objets (fenêtres, icônes, curseur…) à l'écran.

Son contenu utilise fréquemment le patois. Cependant certains messages peuvent apparaître en français.

S'assurer que yad est installé :

apt install yad

Tester la commande :

tail --lines=+1 -f $HOME/.xsession-errors | yad --title ".xsession-errors" --text-info --width 800 --height 400 --wrap --tail 

Si elle fonctionne correctement, créez le petit script watch-xse.sh avec le contenu suivant :

#!/bin/bash
LOGFILE=$HOME/.xsession-errors
ICON=/usr/share/icons/gnome/48x48/emotes/face-glasses.png
TITLE=".xsession-errors"
tail --lines=+1 -f $LOGFILE | yad --title "$TITLE" --text-info --width 800 --height 400 --window-icon="$ICON" --wrap --tail 
exit 0

Rendez ce script exécutable :

chmod +x watch-xse.sh

Exécutez-le:

./watch-xse.sh

Cinnamon a démarré à l'heure indiquée (au millième de seconde près !) à gauche du message “About to start Cinnamon” :

Cjs-Message: 18:35:30.756: JS LOG: About to start Cinnamon

Pour redémarrer Cinnamon, trois solutions (il en existe d'autres) :

  1. Le raccourci Ctrl-Alt-Esc.
  2. Alt-F2, taper r puis valider.
  3. Clic droit sur l'un des panneaux → Résoudre les problèmes → Redémarrer Cinnamon.

Faites ensuite défiler la page jusqu'à rencontrer le dernier message About to start Cinnamon.

Le message d'erreur apparaît avant celui du démarrage de Cinnamon, si vous ne disposez pas d'un lecteur de carte à puce (périphérique permettant de s'authentifier). Il indique ceci:

[cinnamon-settings-daemon-smartcard] Failed to start: impossible de trouver un pilote de carte à puce adapté

La solution consiste à ajouter les lignes suivantes à la fin du fichier /etc/xdg/autostart/cinnamon-settings-daemon-smartcard.desktop :

X-GNOME-Autostart-enabled=false
X-GNOME-Autostart-Phase=false
X-GNOME-Autostart-Notify=false
X-GNOME-AutoRestart=false

Cela permet d'économiser votre SSD. Cela s'effectue en deux étapes.

Ajouter à la fin de /etc/fstab/ la ligne suivante (avec les droits root) :

tmpfs      /tmp            tmpfs        defaults,size=2g           0    0

Remarque : la taille indiquée ici (2g soit 2Gio) est celle de la partition /tmp donc la partie de votre mémoire vive (RAM) qui y sera intégralement consacrée. Le besoin d'espace de /tmp est très variable suivant l'utilisation que l'on fait de son ordinateur. Ici la taille 2g est confortable sur un ordinateur disposant en tout de 16 Gio de mémoire vive. Mais une taille de 512m (512 Mio) est généralement suffisante.

Redémarrer l'ordinateur.

Avec les droits root, créer le fichier /etc/X11/Xsession.d/00move-xsession-errors puis placez-y les lignes suivantes :

#/etc/X11/Xsession
ERRFILE=/tmp/$USER/.xsession-errors
mkdir -p /tmp/$USER

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

# truncate ERRFILE if it is too big to avoid disk usage DoS
if [ "`stat -c%s \"$ERRFILE\"`" -gt 500000 ]; then
  T=`mktemp -p "$HOME"`
  tail -c 500000 "$ERRFILE" > "$T" && mv -f "$T" "$ERRFILE" || rm -f "$T"
fi

exec >>"$ERRFILE" 2>&1



ln -sf "/tmp/$(basename $HOME)/.xsession-errors" $HOME/.xsession-errors

Redémarrer l'ordinateur. C'est fait.

  • linuxaddict/cinnamon/xsession-errors.txt
  • Dernière modification: 04/09/2020, 23:17
  • de Claude Clerc