DebianにXログファイルのコピーを保存する

DebianにXログファイルのコピーを保存する

最近、NvidiaドライバをNvidiaカード用のNouveauドライバと交換してみました(参照:Debian wheezyのNvidiaカード用Nvidia専用ドライバからNouveauドライバに切り替える)。

残念ながら、この試みは失敗して放棄しました。しかし、カスタム設定で再起動して煙が消えた後、DebianはXサーバーログのコピーのみを保持することを発見しました。つまり、/var/log/Xorg.0.log残念ながら新しいスタイルに切り替えようとしましたが、ログがありません。

だから私の質問は、Xログファイルの古いコピーを維持するためにDebianの設定をどのように変更しますか? :

このロジックは logrotate として扱うようですが、特別なロジックはないことがわかります/etc/logrotate.conf/etc/logrotate.d/そこに何かを追加するだけですか?それなら、なぜまだ存在しないのだろうか。

答え1

Xのロギング動作は次のとおりです。

  1. 存在する場合は、/var/log/Xorg.DISPLAY.log名前を変更して/var/log/Xorg.DISPLAY.log.old存在できるすべてのファイルを上書きします。
  2. 開いて/var/log/Xorg.DISPLAY.logログインを開始します。

残念ながら、すべてのオープンソースソフトウェアの場合を除き、これを構成することはできません。ソースコードを変更して再コンパイルできます。xserver-xorgソースパッケージにあり、grepがLogInit正しい場所を見つけることができます。

つまり、古いログを保存する方法を見つけることができます。たとえば、kdm/etc/kde4/kdmには、ログイン画面が表示される前にrootとして実行されるいくつかのスクリプトがあります。ファイルsavelogを保存するコマンドを追加できます。似たようなものが必要です。.oldgdm

dpkg-divertまたはonを使用し/usr/bin/Xてスクリプトを置いてsavelog古いファイルを呼び出すと、execは実際にはXです。 Xを移動する代わりに、ディスプレイマネージャ(kdm、gdm)がXを実行するために使用するパスをこのスクリプトに変更することもできます。

関連情報