Предотвращение ошибок xsession [дубликат]

У меня проблемы с файлом ~ / .xsession-errors , который за несколько дней заполнил весь мой диск (128 ГБ). Фактически, однажды это было через несколько часов. Я запускаю эту машину как сервер, поэтому она работает несколько дней без перезагрузки.

Я прочитал несколько решений о том, как удалить файл с помощью cron или перенаправить его на / dev / null . Однако меня беспокоит то, что мой дом находится на SSD, и я не хочу тратить впустую ввод-вывод диска на кучу записей, которые мне не нужны.

Как я могу предотвратить его запись ?? Кроме того, если бы кто-нибудь мог объяснить, что это за файл и почему в нем так много ошибок, я был бы признателен. Это связано с моими удаленными сеансами vnc / ssh.

ОБНОВЛЕНИЕ: Кажется, он увеличивается в размере каждый раз, когда я удаляю VNC с помощью функции «Общий доступ к рабочему столу».

6
задан 27 February 2013 в 16:23

2 ответа

Это может быть полезным инструментом для отладки определенных приложений, но в некоторых случаях (и большинство KDE главный пример) Вы заканчиваете со слишком большим количеством материала, просто находящегося там.

При удалении (или иначе злоупотреблении) файл не будет постоянным решением, потому что сессии установлены воссоздать этот файл на входе в систему. Однако у Вас есть несколько опций иметь дело с ним.

Для садиста: повредите все вещи!

Можно повредить то поведение просто путем выполнения sudoedit /etc/X11/Xsession и поиск раздела, который пронзительно кричит на приблизительно ERRFILE. Очевидно, сделайте резервное копирование сначала, но я сказал бы, что можно прокомментировать (предварительно ожидайте каждую строку с a #) или удалите весь следующий код:

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

# 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

echo "$PROGNAME: X session started for $LOGNAME at $(date)"

Для длинного зарегистрированного пользователя: крон

Я остаюсь вошедшим мой рабочий стол в течение многих недель за один раз и если что-то аварийно завершается, возможности, мне только будет нужна отладка в течение нескольких часов, если вообще. Таким образом, я работал crontab -e и созданный строка как это:

0 * * * * bash -c ">/.xsession-errors"

Это просто дает файлу почасовое толстой кишки.

Для мазохиста: исправьте все ошибки!

Необходимо помнить это .xsession-error вывод там для указания на ошибку или что-то ведущее себя способом, что он не должен. Это не всегда верно (впивается взглядом в KDE), но в Вашем случае с Вашим клиентом VNC, это может указать, что что-то идет не так, как надо.

Если Вы взглянули на ошибки, Вы смогли изменять свои параметры настройки приложения для предотвращения ошибки или сбоя, что, сообщите об ошибке (наряду с некоторыми демонстрационными сообщениями) автору программного обеспечения.

Если это - просто спам (Например: "соединяясь с сервером"), сообщают что как ошибка автору также. Они неправильно используют инфраструктуру.

2
ответ дан 27 February 2013 в 16:23

Есть более простое решение, но, возможно, для некоторых оно не очень полезно. Не используйте xdm или любой другой DM. Загрузите свой компьютер до текстовой консоли, войдите в систему и startx.

0
ответ дан 27 February 2013 в 16:23

Другие вопросы по тегам:

Похожие вопросы: