在/ etc / environment中设置LOG = 1


8

之前我问过一个有关查看应用程序使用历史的问题notify-osdindicator-notifications

答案是,我需要添加LOG=1在我的/etc/environment文件。
听起来可疑,但我没有这样做,因为:

  1. 它在全局配置文件中。
  2. 您真的不知道除了通知外还将记录什么。

我四处浏览,看到了这个问题,它也突出了这个问题。具体看一下这个答案

小警告:这可能不是一个好主意... / etc / environment中的LOG = 1使其成为系统范围的变量,并且可能破坏东西...上帝知道对LOG有什么反应(ofc。他们应该使它变成NOTIFYOSDLOG之类的东西) )。也许对于初学者来说,为了确定起见,我会将其添加到1位用户的bashrc中。

我的问题是,如何将设置LOG=1/etc/environment影响系统?哪个“资料”将被记录?这是明智的吗?

编辑

我解决了通知问题,现在我只是在询问在/ etc / environment中设置LOG = 1的影响。

看看上面我的问题:“如何将设置LOG=1/etc/environment?影响系统‘东西’将被记录这是可取的?”


我们也许可以编辑并重新编译notifyosd来检查NOTIFYOSDLOG。–
Seth

如果LOG=1不阅读可能LOG在环境中运行并可能使用的每个程序和服务的文档,就很难说出将如何影响系统。LOG是一个通用名称,但与不同PATHHOME或者TERM不常用。因此,可能希望不要有太多的开发人员选择它作为其程序的环境变量,因此设置LOG不会做太多事情。
Adaephon 2014年

这两个答案都很好,我只是让“系统”奖励赏金。感谢Adaephon的评论,LOG不常用,因此有点不知道该如何影响系统LOG=1
Parto 2014年

Answers:


4

您可以使用更多用户本地的东西,例如~/.pam_environment~/.profile/etc/environment除了只会影响您的用户外,这些方法几乎与其他方法相同。它们仍然可能影响其他应用程序。

虽然~/.profile与其他脚本文件相似,但需要遵循~/.pam_environment一些棘手的语法(否则您将无法登录):

LOG DEFAULT=1

另一种方法是5月的工作正在改变任何发射notify-osd到环境变量传递下去直接。在这种情况下,它似乎是某些跨平台DBUS级联的一部分,该级联由usr/share/dbus-1/services/org.freedesktop.Notifications.service

[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/lib/x86_64-linux-gnu/notify-osd

我想知道Exec行是否可以更改为:

Exec=LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd

或者,如果这引发语法问题:

Exec=sh -c "LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd"

如果可行,那么它的明显优势就是仅影响notify-osd(它启动的任何内容)。


3

NotifyOSD文档页面报价:

(注意:当LOG环境变量设置为1时,将启用到该文件的日志记录。)

在“ 环境变量doc”页面中,它具有一个公共变量列表,其中未列出“ LOG”。它说:

每个应用程序都可以自由定义和使用自己的环境变量。许多手册页都包含一长串环境变量,这些变量可能会影响它们描述的应用程序的行为。但是,最有用的变量是许多应用程序共有的。

搜寻可能使用LOG的实例后,什么也没有出现。“ NOTIFYOSDLOG”将是一个更合适的名称。LOG的使用完全取决于应用程序,因此使用和不使用LOG都是一个谜。由于它不在公共变量列表中,因此它可能只是一个命名错误的变量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.