{{tag>Cinnamon xsession-errors ssd linuxmint}}
====== .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.
===== Afficher en continu le contenu de .xsession-errors =====
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) :
- Le raccourci //Ctrl-Alt-Esc//.
- Alt-F2, taper //r// puis valider.
- 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''.
===== Erreur de chargement de pilote de carte à puce =====
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
===== Déplacer .xsession-errors en mémoire vive =====
Faire déplacer en mémoire vive le fichier .xsession-errors à chaque lancement de l'interface graphique permet d'allonger la durée de vie de votre disque SSD.
Avec les droits root, créer le fichier ''/etc/X11/Xsession.d/00move-xsession-errors'' puis placez-y les lignes suivantes :
#/etc/X11/Xsession.d/00move-xsession-errors
ERRFILE=/run/user/$UID/.xsession-errors
# 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
# Create symlink:
ln -sf $ERRFILE $HOME/.xsession-errors
Redémarrer l'ordinateur. C'est fait.
===== Message 'Called "net usershare info" but it failed' dans .xsession-errors =====
Cela signifie que vous ne pouvez pas partager de fichiers avec les autres utilisateurs de votre ordinateur par l'intermédiaire, notamment, du dossier ''Public'' situé dans votre dossier personnel.
Solution:
Installer le paquet ''samba'':
apt install samba
Ajoutez-vous dans le groupe //sambashare// :
sudo adduser $USER sambashare
Déconnectez-vous. À la prochaine connexion, ce message devrait avoir disparu.
===== Message Existing monitor config ... not found during hotplug or laptop lid event =====
Ce message d'erreur fait référence aux fichiers ''cinnamon-monitors.xml'' et ''monitors.xml'' de votre dossier ''.config'' - et également à //xinerama setup Configuration//.
==== 1ère solution ====
Installez ddcutil :
apt install ddcutil
Puis redémarrez votre ordinateur.
==== 2nde solution ====
**Si vous n'avez qu'un seul écran et que vous n'en branchez aucun autre**, voici la solution pour que ces messages d'erreur n'inondent plus votre ''.xsession-errors'' :
- Dans **Paramètres système / Applications au démarrage**, désactivez //Cinnamon settings daemon - xrandr// (et éventuellement tout ce qui fait référence à xrandr).
- Surchargez votre fichier ''.config/autostart/cinnamon-settings-daemon-xrandr.desktop'' :
cp /etc/xdg/autostart/cinnamon-settings-daemon-xrandr.desktop $HOME/.config/autostart/
echo "Hidden=true" >> $HOME/.config/autostart/cinnamon-settings-daemon-xrandr.desktop
Déconnectez-vous puis re-connectez-vous (ou redémarrez l'ordinateur).
Source : [[https://gist.github.com/JonasAlfredsson/9d14aba3486aab72a8c9c11deb00da9f|Make Cinnamon/Gnome/Mate Respect xorg.conf]]
===== Message signalant has_option manquant =====
Éditer avec les droits root le fichier ''/etc/X11/Xsession.d/30x11-common_xresources''
sudo nano /etc/X11/Xsession.d/30x11-common_xresources
Après les deux premières lignes de commentaires (débutant par #), ajouter les lignes suivantes :
has_option() {
# Ensure that a later no-foo overrides an earlier foo
if [ "$(echo "$OPTIONS" | grep -Eo "^(no-)?$1\>" | tail -n 1)" = "$1" ]; then
return 0
else
return 1
fi
}
Quitter nano avec Ctrl+X puis O (ou Y) et valider.
Redémarrer l'ordinateur.
----
{{counter|today| personne a visité cette page aujourd'hui| personnes ont visité cette page aujourd'hui}} et {{counter}} en tout.