在 Debian 上保留 X 日志文件的副本

在 Debian 上保留 X 日志文件的副本

我最近尝试用 Nvidia 卡的 Nouveau 驱动程序替换我的 Nvidia 驱动程序(请参阅在 Debian wheezy 上从 Nvidia 专有驱动程序切换到 Nvidia 卡的 Nouveau 驱动程序)。

不幸的是,这次尝试失败了,所以我放弃了。然而,当我重新启动到我的习惯配置并且烟雾散去之后,我发现了一些我已经知道的事情,Debian 只保留了一份 X 服务器日志的副本,即/var/log/Xorg.0.log.因此,我不幸尝试转向新风格的日志丢失了。

所以,我的问题是,如何更改 Debian 的配置以保留 X 日志文件的旧副本?:

我认为这种逻辑是由 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命令来保存.old文件。gdm想必也有类似的。

或者你可以使用dpkg-diverton/usr/bin/X并在那里放置一个脚本来调用savelog非旧文件,然后 exec 是真正的 X。你也可以只更改显示管理器(kdm、gdm)用于运行 X 的路径到该脚本,而不是转移X。

相关内容