我最近注意到总是有gnome-settings-daemon
以进程形式运行的实例,这是为什么?禁用它们安全吗?
GNOME Wiki 的解释是:
[...] 需要在会话中有一个长时间运行的进程。其中一些任务本质上只是应用设置 [...]
答案1
它们可能不完全是多个独立的进程,而是共享内存的线程。
但是,gnome-settings-daemon
这是必要的,因为它需要确保主题、键绑定、字体提示和各种其他设置得到正确处理。此过程也在 Unity 7 下使用,但由于unity-settings-daemon
一些变化,在 Unity 下被分叉。
答案2
这是因为人们希望通过一个单独的进程将设置和更改应用到磁盘,而不是让每个程序自己执行这些操作,从而实现集中化和(可能)安全性。因此,当您进行更改时,例如即使更改了系统监视器中您所在的选项卡,它也会联系正在运行的进程(gnome-settings-daemon
)并要求它将更改写入磁盘,它可能还会通过此进程将更改读取到磁盘。
这可能看起来很奇怪,但从程序员的角度来看(尤其是模块化编程),这对安全性非常有利,因为只有一个经过验证的程序在运行以对磁盘进行更改,而不是每个程序都单独执行此操作。这也意味着,如果此过程发生变化(数据如何从磁盘读取和读取,甚至格式也可能发生变化),那么更改实际上只需在一个地方进行,gnome-settings-daemon
而不是在每个应用程序中进行。同样,从程序员的角度来看,这是非常好的做法。
为什么他们有多个正在运行的,也许是为不同的用户运行的多个(例如,您的用户帐户和 gdm 可能有不同的),这是一样的,只是在不同权限下为不同的用户空间执行。这也可能是由于他们(GNOME 开发人员)决定要做的事情,就这一点而言,您可以查看源代码,或者更好的选择是,您可以直接询问他们。但他们很可能只是让您陷入困境(我想这取决于复杂性以及您如何向他们提出)。