我已访问过 30 多个有关同一问题的论坛问题,但没有一个能为我指明正确的方向。
我不关心问题的原因是什么。我不关心错误信息说了什么。
我想彻底阻止这种情况发生。
我不想禁用系统上的所有日志记录,只想禁用这个 .xsession-errors 文件。
我试过 /dev/null 但它不起作用。我将其设为只读,只是创建一个新文件 .xsession-errors.jkhbjhjh。我甚至注释掉了 /etc/X11/xsession 中的文件生成。
我正在运行一个电子商务网络服务器,它将在不到 90 天内退役。我只需要让网站运行足够长的时间,以便将它们全部转移到我的新系统。这个日志文件每周会填满我的硬盘 2 到 3 次,导致我的网店无法运行。
需要说明的是,我想知道如何禁用 .xsession-errors 日志记录。我正在运行带有 gnome 的 Ubuntu 9.10。我知道它不再受支持,但同样,该服务器将在不到 90 天内退役,这应该无关紧要。
答案1
有一个名为 /etc/X11/Xsession 的文件。它将创建指向 tmp 文件的符号链接。IE。从第 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
您可以将此 Xsession 文件复制到 Xsession.bak。然后继续并将 ERRFILE 指向 /dev/null IE。第 83 行
exec >> /dev/null 2>&1
答案2
做就是了
rm /wherever/you/have/.xsession-errors
ln -s /dev/null /wherever/you/have/.xsession-errors
并重新启动计算机(这样做是为了关闭所有使用 .xsession-errors 的程序)
对 .xsession-errors 的所有访问都将被重定向到 /dev/null,这是一个用于接收文本并将其丢弃的“文件”
答案3
解决方法取决于您使用的桌面管理器。更改/etc/X11/Xsession文件在某些情况下可以正常工作,但是如果你正在使用 gnome,则应将以下几行添加到〜/.gnomerc:
rm -r ${HOME}/.xsession-errors
ln -s /dev/null ${HOME}/.xsession-errors
希望这种微妙之处能够对某些人有所帮助。
答案4
如果你尝试过此解决方案但发现它不令人满意,那么我只需编写一个 cron 条目,每小时删除该文件一次。
crontab -e
添加以下条目:
@hourly rm -rf /path/to/xsession/files/.xsession-errors*
虽然快捷且粗糙,但是实用!
如果你想要更快,只需改为@hourly
。*/2 * * * *
这
将每两分钟删除一次文件。