什么原因导致Nautilus在我杀死它时重新启动?

在htop中,我杀了Nautilus,并且在一秒之内它又回来了,有一个新的PID!

重新启动的Nautilus显示在进程列表中,但是在我手动启动Nautilus之前没有GUI …我听说提到Nautilus与桌面协同工作……也许这就是原因(?)。

是否有某种“看门狗”计划密切关注一些分布式关键程序? 监控Nautilus似乎不是Linux内核问题,所以我只是想知道这里发生了什么?

Gnome使用会话管理器gnome-session )来跟踪它需要做什么。 它负责启动整个会话,所有子进程,恢复状态并在您注销时保存它。

GNOME提供的工具允许您的应用程序在会话之间顺利运行。 用户可以使用正在运行的应用程序注销,并在他们重新登录时完全恢复这些应用程序。 – 来自Gnome文档库

除此之外,会话管理器试图让它的Nautilus实例运行。 Nautilus必须向会话管理员注册 – 默认情况下会这样做; 当然,有一个命令行选项来禁用它:

nautilus --sm-disable

您可以通过运行来终止正在运行的Nautilus进程:

killall -9 nautilus

正如其他人所提到的, gnome-session自动重新生成nautilus进程。 它也适用于gnome-panelgnome-wm (它反过来启动用户配置的窗口管理器,通常是compizmetacity )。

可以通过desktop > gnome > session > required_components gconf键自定义此行为。

required_components gconf密钥

如果您希望在没有GNOME面板的情况下运行并仅使用Docky或AWN,则编辑这些值非常有用。

gnome-session负责重生鹦鹉螺。 作为进程树中的父进程,没有其他进程可以重新生成它。

ps -eaH显示了此处摘录的分层流程树:

  1 ? 00:00:00 init 1113 ? 00:00:00 gdm-binary 11391 ? 00:00:00 gdm-simple-slav 11396 tty8 00:00:13 Xorg 11465 ? 00:00:00 gdm-session-wor 11629 ? 00:00:00 gnome-session 11746 ? 00:00:02 nautilus 

Chipaca和andrewsomething都很接近…… 🙂

/desktop/gnome/session/required_components_list键列出了应该由gnome-session监视的“组件”,并在退出时自动重新启动。 GNOME 2的默认值类似于[windowmanager,panel,filemanager]

如果要防止nautilus(或任何“已配置的”文件管理器组件“)被此机制启动(重新)启动,则可以将值更改为[windowmanager,panel] 。 (当然,您仍然可以在登录期间将其添加到会话启动程序列表中,但它不会再自动重新启动。)

在具有组件名称的密钥中的/desktop/gnome/session/required_components下定义了为每个组件启动的应用程序(使用什么命令行参数)。 此处列出的组件可能多于/desktop/gnome/session/required_components_list键中使用的组件。

现在,在nautilus的情况下,默认情况下当它没有运行时它会在后台启动,如果设置了/apps/nautilus/preferences/show_desktop键,它也会显示桌面。 也可以告诉nautilus使用命令行参数表现不同。

Nautilus正在重新启动,因为你已经绘制了桌面。 输入

 gconftool-2 --type bool --set /apps/nautilus/preferences/show_desktop False 

在一个终端,它停止这样做,然后杀死后不应该回来。

总共:

 gconftool-2 -s -t bool /desktop/gnome/background/draw_background false gconftool-2 -s -t bool /apps/nautilus/preferences/show_desktop false 

 sudo gedit /usr/share/applications/nautilus.desktop 

改成:

X-GNOME-AUTORESTART =假

(发现于: https : //bbs.archlinux.org/viewtopic.php?id = 119254 )

就这样…