我问了一个问题notify-osd
之前曾讨论过查看应用程序使用历史记录的问题indicator-notifications
。
答案是我需要添加到我的文件LOG=1
中。 这听起来很可疑,我没有这样做,因为:/etc/environment
- 它在全局配置文件中。
- 您确实无法知道除了通知之外还会记录什么。
我浏览了一下,看到了这个问题这也凸显了这个问题。具体来看这个答案:
小警告:这可能是一个坏主意... /etc/environment 中的 LOG=1 使其成为系统范围的变量,可能会破坏一些东西... 天知道 LOG 上有什么反应(当然他们应该把它做成类似 NOTIFYOSDLOG 的东西)。也许首先我会将它添加到 1 个用户的 bashrc 中以确保万无一失。
我的问题是,设置会对系统产生什么LOG=1
影响/etc/environment
?哪些“内容”会被记录?这样做可取吗?
编辑
我解决了通知问题现在我只想询问在 /etc/environment 中设置 LOG=1 的效果。
看看我上面的问题:“设置会对系统产生什么LOG=1
影响/etc/environment
?哪些‘内容’会被记录?这样做可取吗?”
答案1
您可以使用更贴近用户本地的方法,例如~/.pam_environment
或~/.profile
。这些方法实际上与 相同,/etc/environment
只是它们只会影响您的用户。它们仍然会影响其他应用程序。
虽然~/.profile
与其他脚本文件类似,但~/.pam_environment
有点抽搐语法需要遵守(否则您将无法登录):
LOG DEFAULT=1
另一种方法是可能工作是改变启动的任何程序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(它启动的任何东西)。