Désactiver ~/.xsession-errors (surtout utile sur SSD)

Vous connaissez certainement le fichier ~/.xsession-errors où sont écrits plein de messages d’erreur des applications X11.

Le problème c’est que certains programmes (genre Gimp) peuvent générer des quantités incroyables de données dans ce fichier log (plusieurs gigas parfois !).

Si votre partition [mono]/home[/mono] est petite, elle peut se remplir rapidement.
Si vous utilisez un SSD ça génère énormément d’écritures inutiles sur le disque, qui raccourcissent d’autant sa durée de vie.

Deux possibilités…

[size=150]1) Suppression pure et simple de [mono]~/.xsession-errors[/mono][/size]

En root :

Au prochain redémarrage ça remplacera le fichier par un lien vers /dev/null et votre disque ne souffrira plus inutilement.

[size=150]2) Redirection de [mono]~/.xsession-errors[/mono] vers [mono]/tmp[/mono][/size] (merci fran.b)

On suppose que [mono]/tmp[/mono] est monté en [mono]tmpfs[/mono] (ça n’a aucun intérêt si [mono]/tmp[/mono] est sur le SSD…). En root :

cat > /etc/X11/Xsession.d/00disable-xsession-errors <<"EOF" mkdir -p "/tmp/$(basename "$HOME")" touch "/tmp/$(basename "$HOME")/.xsession-errors" ln -fs "/tmp/$(basename "$HOME")/.xsession-errors" "$HOME"/.xsession-errors EOF
Au prochain redémarrage le fichier sera stocké dans [mono]/tmp/UTILISATEUR/.xsession-errors[/mono] et ne provoquera plus d’écritures intempestives sur le SSD. Notez cependant que ça ne règle pas la question du remplissage de la partition lorsque certains programmes émettent des tonnes de logs, par contre ça a l’avantage de continuer à pouvoir consulter lesdits logs.


Dans les deux cas, supprimer /etc/X11/Xsession.d/00disable-xsession-errors et redémarrer Xorg pour rétablir le comportement normal.

J’essaierai ça (SSD) mais je te préviens, si ça me procure un dommage, je te réveille un dimanche matin vers 6 heures :smiling_imp:

Aucun risque que ça pose problème : tout ce que ça fait c’est supprimer un fichier log plus ou moins inutile.
Et puis de toutes façons à 6h du matin y’a peu de chances que tu me réveilles, soit je suis déjà levé soit je suis pas encore couché (mais dans ce dernier cas ne t’attends pas à ce que je sois très cohérent). :stuck_out_tongue:

Le code est à écrire en une seule ligne ou il faut faire un script ?

@Ricardo
EOF permet de débuté les multi-lignes, jusqu’à ce que tu redonnes un EOF.

Donc à la première ligne tu fais enter, tu continues sur la ligne suivante (donc ici tu écris le contenu de la ligne 2), à la troisième EOF qui termine.

Le fichier .xsession-errors est utile.
Je le regardes aux débuts de l’installation du système et les logiciels qui démarre pour la première fois.
Sa permet de vite voir s’il y a une chose manquante.

Et de temps en temps vérifier s’il y a un soucis avec les logiciels utilisé.

Ayant un ssd sa peut-être utile, j’ai en ce moment 15k lignes :smiley: (édite déjà 17k, je me demandes si c’est un fichier .xsession-Errors ou .xsession-Logs hmm)

Merci !
Et pourtant, j’avais déjà posé la question, j’aurais dû m’en souvenir mais malheureusement, cette putain de mémoire fait de plus en plus défaut :unamused:

J’ai fait hier soir, fermé complètement la machine mais ce matin, xsession-errors est toujours présent :question:

Il fait quelle taille ? Normalement ça doit maintenant être un lien vers [mono]/dev/null[/mono] donc taille 0.
Éventuellement vérifie avec [mono]ls -lA ~/.xsession-errors[/mono]

[mono]ricardo@ordibureau:~$ ls -lA ~/.xsession-errors
-rw------- 1 ricardo ricardo 42701 nov. 17 19:06 /home/ricardo/.xsession-errors[/mono]
Je viens de rallumer à 19 H
38.4 Kio mais il y a peu de temps que je tourne sur cette machine.

:question:

:question:

[mono]ricardo@ordibureau:~$ cat /etc/X11/Xsession.d/00disable-xsession-errors
cat: /etc/X11/Xsession.d/00disable-xsession-errors: Aucun fichier ou dossier de ce type[/mono]

Soit ta pas fait la manip ou mal fait, soit pas avec les bons droits.

En root:

  • touch /etc/X11/Xsession.d/00disable-xsession-errors
  • echo ‘ln -fs /dev/null “$HOME”/.xsession-errors’ > /etc/X11/Xsession.d/00disable-xsession-errors

(pour vérifier) ls -l /home/ricardo/.xsession-errors

J’ai remplacé ma commande multilignes par ton [mono]echo[/mono] simple, ça évitera les confusions à l’avenir.

Bonjour,
Est-ce que la suppression de ces données est réellement sûre? J´ai toujours été méfiant lorsqu´il fallait supprimer des données dont on ne savait pas à quoi elles servaient… Histoire que je ne me retrouve pas avec un système qui commence à planter haha

Il ne s’agit ici que d’un fichier journal, qui ne contient pas de données utiles aux programmes mais uniquement une copie des différents messages d’erreur de la session graphique à l’usage de l’utilisateur.

Pas de panique, ton système marchera très bien sans !

Utilisez xinit au lieu de xsession et vous n’aurez plus le problème ! :wink:

Ouais bah mes KDE s’installent toujours avec [mono]xsession[/mono] donc je laisse comme ça, c’est bien plus simple de désactiver [mono]~/.xsession-errors[/mono] plutôt que d’essayer de basculer vers [mono]xinit[/mono] (à condition que ça soit faisable, pour commencer). :wink:

:023 Avec cette ligne modifiée, ça fonctionne : [mono].xsession-errors[/mono] = lien de 0 octet pointant sur [mono]/dev/null[/mono]

super vv222 :041 ca me rassure, oui ca n´a pas l´air trop important :smiley: J´accepte de m´en séparer haha

Il vaut mieux

touch /tmp/$(basename $HOME).xsession-errors ln -fs /tmp/$(basename $HOME).xsession-errors "$HOME"/.xsession-errors
avec un /tmp en tmpfs. Cela permet de debugguer éventuellement un programme.