web-dev-qa-db-fra.com

Comment empêcher les erreurs de type .xsession de consommer de l'espace disque?

Est-il possible de désactiver complètement le fichier .xsession-errors? Je l’ai sous forme de lien symbolique vers/tmp afin que le disque dur de mon ordinateur portable puisse (espérons-le) s’endormir pour une fois, mais au moins 95% du contenu du fichier (il se remplit à environ 500k/heure) est ...

(nautilus: 1618): GLib-GObject-CRITICAL **: g_value_get_object: assertion `G_VALUE_HOLDS_OBJECT (valeur) 'a échoué

ce qui est pour moi un déchet total. J'ai essayé de créer un lien symbolique vers/dev/null mais cela ne fonctionne pas (le lien résultant est écrasé) et je ne souhaite pas non plus que l'activité soit active, de sorte que j'espère que mon ordinateur portable pourra s'endormir une fois.

J'utilise Ubuntu 11.04, sans aucun ajout particulier à Nautilus.

12
bjem

J'ai trouvé une solution provisoire.

Je mets un petit script dans /etc/X11/Xsession.d appelé 91redirect-xsession-errors qui fait le travail pour l'instant, mais si vous voulez avoir votre propre lien symbolique personnalisé pour .xession-errors cela ne fonctionne pas pour cela (j'ai essayé et il n'a généré aucune donnée).

] ] 
 XSESSION_ERRFILE = $ HOME/.xsession-errors 
 
 # Cela ne semble pas fonctionner pour un fichier normal, 
 # C'est-à-dire si vous souhaitez créer un lien symbolique $ HOME/.xsession-errors 
 # Dans un autre fichier. Je ne sais pas pourquoi. 
 XSESSION_ERRFILE_FINAL =/dev/null 
 
 # Crée le fichier cible s'il n'existe pas. 
 Touchez "$ XSESSION_ERRFILE_FINAL" 
 
 # Lier le fichier .xsession-errors à la cible souhaitée 
 # Peu importe. 
 Ln -sf "$ XSESSION_ERRFILE_FINAL" "$ XSESSION_ERRFILE" 
 [. .____.] # Scénario test. 
 # Gedit & 
 
 ##### FIN DU FICHIER ##### 

C'est un peu "rude et prêt" mais ça fait le travail pour moi. Notez qu'il s'agit du fichier niquement qui a été modifié.

10
bjem

Il existe un fichier appelé/etc/X11/Xsession. Ce qui créera le lien symbolique vers un fichier tmp. C'EST À DIRE. Commence au numéro de ligne 61

ERRFILE=$HOME/.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

Vous pouvez copier ce fichier Xsession dans Xsession.bak. Puis dirigez votre tête et dirigez votre ERRFILE vers/dev/null IE. Ligne 83

exec >> /dev/null 2>&1
4
earlonrails

Veuillez noter que la suppression du fichier .xsession-errors ne libère pas d'espace jusqu'au redémarrage du système si un processus écrit encore dans le fichier. Utilisez echo pour écraser le contenu du fichier afin de définir le fichier à un caractère. Jusqu'à ce que le processus d'écriture dans .xsession-errors cesse, le fichier recommence à grandir immédiatement. Moi je dois arrêter Remmina puis tronquer le fichier et je suis de retour à courir. Remarque aide également si vous définissez une taille de fichier de quelques gigasmes pour que votre fichier .xsession-errors ne puisse pas archiver le lecteur et planter votre système en panne. Je cherche toujours LA réponse à ce problème de virus intégré à apparemment tous les systèmes d'exploitation Linux. On dirait que les développeurs Microsoft ont contribué à Linux ... ;-)

0
dneill

J'ai rencontré le même problème dans le serveur Redhat Linux 6.4 6.4 mais je peux trouver quel dossier ou quel utilisateur prend plus d'espace en utilisant cette commande "find/-xdev -type f -size + 100000000c -exec ls -lh {} \;" alors j'ai supprimé manuellement x erreurs de session en utilisant la commande rm -rf

0
user320929