web-dev-qa-db-ja.com

.xsession-errorsファイルは巨大です。無効にするにはどうすればよいですか?

私はこれとまったく同じ問題について30以上のフォーラムの質問を訪れましたが、どれも正しい方向に私を向けることができませんでした。

何が問題を引き起こしているのかは気にしません。エラーメッセージの内容は気にしません。

これを完全に無効にしたいです。

この.xsession-errorsファイルだけをシステムですべてのロギングを無効にしたくありません。

動作しない/ dev/nullを試しました。読み取り専用にしました。新しいファイル.xsession-errors.jkhbjhjhを作成するだけです。/etc/X11/xsessionのファイル生成についてもコメントアウトしました。

90日以内に廃止されるeコマースWebサーバーを実行しています。サイトをすべて新しいシステムに移行するのに十分な時間だけサイトを維持する必要があります。このログファイルは、HDDを1週間に2〜3回いっぱいにして、ウェブストアを動作不能にします。

明確にするために、.xsession-errorsロギングを無効にする方法を知りたいです。 Ubuntu 9.10をgnomeで実行しています。もうサポートされていないことは承知していますが、このサーバーは90日以内に廃止されることになります。

13
israelj

/ 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にcpできます。次に、先頭に移動して、ERRFILEに/ dev/null IEを指定します。 83行目

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

この回避策は、使用しているデスクトップマネージャーにかなり依存しています。 / etc/X11/Xsessionファイルの変更は場合によっては正常に機能しますが、たとえばgnomeを使用している場合は、次の行を〜/ .gnomercに追加する必要があります:

rm -r ${HOME}/.xsession-errors
ln -s /dev/null ${HOME}/.xsession-errors

その微妙さが誰かを助けることを願っています。

3
Sean A

私はあなたのような同じ状況に出会って、それらの提案された解決策をネット上で試しましたが、すべて失敗したようです。

最後に、Ubuntuの/etc/X11/Xsessionファイル内の「ERRFILE = $ HOME/.xsession-errors」という行をコメントアウトしました。

その後、.xsession-errorsファイルは再び表示されません。

私のテストでは、このエラーログファイルは、プロセスリスト(ps -ef|grep vino)で見つけることができるサービスvino-server用です。これはVNCサーバープロセスです。このログファイルに多くのエラーメッセージを生成するために、VNCクライアントによってサーバーにログインしようとするプログラムがネットにいくつかあるのではないかと思います。

1
Power Wong

ただやる

rm /wherever/you/have/.xsession-errors
ln -s /dev/null /wherever/you/have/.xsession-errors

コンピューターを再起動します(これは、.xsession-errorsを使用していたすべてのプログラムを閉じます)

.xsession-errorsへのすべてのアクセスは、/ dev/nullにリダイレクトされます。これは、テキストを受信して​​破棄することを目的とした「ファイル」です

1
josinalvo

この解決策 を試したが、それが不十分であることがわかった場合、ファイルを1時間ごとに削除するcronエントリを単純に記述します。

crontab -e

次のエントリを追加します。

@hourly rm -rf /path/to/xsession/files/.xsession-errors*

すばやく汚れますが、機能的です!

さらに高速にしたい場合は、@hourly*/2 * * * *に変更してください。
これにより、2分ごとにファイルが削除されます。

1
SirCharlo

この問題は、年齢に関わらずまだ関連があるようです。 SSDを搭載したノートブックでも同じ問題が発生しました。 TMPFSに移動する必要があります。/tmpをマウントしました。ファイルの移動、切り捨て、chowning/chattringに関するすべてのアドバイスは、xubuntu 13.04では機能しません。ファイルパスはxfceバイナリにハードコードされているようです。すべてのファイルシステムをgreppedしました。/etc/X11/Xsessionを除き、そのファイルの発生はなく、ERRFILEを変更しても何も起こりません。

ちなみに、/ etc/rc.local内のこれらのファイルを使用したアクションは、rc.localトリガーがXsessionの開始を促すため、sesnseを作成しません。

したがって、.xfce-customizationsというファイルをhomedirに作成し、そこに次の行を追加しました。

ln -sf $(mktemp) /home/remort/.xsession-errors
ln -sf $(mktemp) /home/remort/.xsession-errors.old

その後、「設定マネージャー」->「セッションと起動-アプリケーション自動起動」でxsessionを使用してこのファイルを自動起動に追加しました。再起動してxfceにログインすると、両方のファイルが一時ファイルにシンボリックリンクされました。したがって、稼働時間中にログを分析できるので、非常にクリーンなソリューションです。

0
remort