我最近尝试用 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 的日志记录行为是:
- 如果存在
/var/log/Xorg.DISPLAY.log
,请将其重命名为/var/log/Xorg.DISPLAY.log.old
,覆盖可能存在的任何文件。 - 打开
/var/log/Xorg.DISPLAY.log
并开始登录。
不幸的是,这是不可配置的,除非从所有开源软件的意义上来说:您可以更改源代码并重新编译。它在xserver-xorg
源包中,grep 可以LogInit
找到正确的位置。
也就是说,您可以找到一种方法来保存旧日志。例如,kdm
/etc/kde4/kdm 中有几个脚本,在显示登录屏幕之前以 root 身份运行;您可以添加一个savelog
命令来保存.old
文件。gdm
想必也有类似的。
或者你可以使用dpkg-divert
on/usr/bin/X
并在那里放置一个脚本来调用savelog
非旧文件,然后 exec 是真正的 X。你也可以只更改显示管理器(kdm、gdm)用于运行 X 的路径到该脚本,而不是转移X。