Como eu evito erros de .xsession de comer espaço em disco?

12

Existe alguma maneira de desativar completamente o arquivo .xsession-errors? Eu tenho isso como um link simbólico para / tmp para que o meu disco rígido laptop pode (espero) ir para dormir uma vez, mas pelo menos 95% das coisas no arquivo (ele enche a cerca de 500k por hora) é ...

(nautilus:1618): GLib-GObject-CRITICAL **: g_value_get_object: assertion 'G_VALUE_HOLDS_OBJECT (value)' failed

que é lixo total para mim. Eu tentei fazer um link simbólico para / dev / null, mas isso não funciona (o link resultante é sobrescrito), e eu também não quero a atividade para que esperançosamente meu laptop possa dormir uma vez.

Estou usando o Ubuntu 11.04, sem complementos especiais para o Nautilus.

    
por bjem 08.01.2012 / 05:15

4 respostas

10

Eu encontrei uma solução provisória.

Eu coloquei um pequeno script em /etc/X11/Xsession.d chamado 91redirect-xsession-errors que faz o trabalho por enquanto, mas se você quiser ter seu próprio link simbólico personalizado para .xession-errors ele não funciona para isso (eu tentei e ele não saída de quaisquer dados).

#!/bin/sh

# Redirect $HOME/.xsession-errors to /dev/null.
# BJEM 11 January 2012

XSESSION_ERRFILE=$HOME/.xsession-errors

# This does not seem to work for a regular file,
# i.e. if you want to symlink $HOME/.xsession-errors
# to another file.  I do not know why.
XSESSION_ERRFILE_FINAL=/dev/null

# Creates target file if it does not exist.
touch "$XSESSION_ERRFILE_FINAL"

# Link .xsession-errors file to the desired target
# no matter what.
ln -sf "$XSESSION_ERRFILE_FINAL" "$XSESSION_ERRFILE"

# Test case.
#gedit &

##### END OF FILE #####

É um pouco áspero e pronto, mas faz o trabalho para mim. Note que este é o arquivo somente que foi alterado.

    
por bjem 11.01.2012 / 10:20
3

Existe um arquivo chamado / etc / X11 / Xsession. Que irá criar o link simbólico para um arquivo tmp. IE. Começa na linha número 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

Você pode copiar este arquivo Xsession para Xsession.bak. Então vá em frente e aponte seu ERRFILE para / dev / null IE. Linha 83

exec >> /dev/null 2>&1
    
por earlonrails 05.11.2012 / 20:15
0

Eu enfrentei o mesmo problema no servidor redhat linux 6.4, mas eu posso encontrar qual pasta ou usuário ocupa mais espaço usando este comando "find / -xdev -tipo f -size + 100000000c -exec ls -lh {} \ ; " então eu apaguei manualmente x erros de sessão usando o comando rm -rf

    
por user320929 27.08.2014 / 09:20
0

Observe que a exclusão do arquivo .xsession-errors não libera espaço até a reinicialização do sistema, se um processo ainda estiver gravando no arquivo. Use o echo para sobrescrever o conteúdo do arquivo para definir o arquivo como um caractere. Até que o processo de gravação em .xsession-errors pare, o arquivo começará a crescer imediatamente de novo. Eu tenho que parar Remmina, em seguida, truncar o arquivo e estou de volta a correr. Note também ajuda se você definir o tamanho do seu limite de arquivo para alguns gig para o seu arquivo .xsession-errors não pode arquivar a unidade e travar seu sistema. Ainda procurando a resposta para este problema de um vírus embutido em aparentemente todos os sistemas operacionais Linux. Parece que os desenvolvedores da Microsoft têm contribuído para o Linux ...; -)

    
por dneill 19.12.2016 / 14:36

Tags