Что заставляет Nautilus перезагружаться всякий раз, когда я его убиваю?

28

В htop я убиваю Наутилуса, и через одну секунду он вернулся, с новым PID!

Перезапустимый Nautilus отображается в списке Процессы, но не имеет графического интерфейса, пока я не запускаю вручную Nautilus ... Я слышал, как Nautilus работает на стоп-стоп с рабочим столом ... может быть, это причина (?).

Есть ли какая-то программа «сторожевого пса», следящая за некоторыми дистрибутивными критическими программами? Мониторинг Nautilus не похож на проблему с ядром Linux, поэтому мне просто интересно, что здесь происходит?     

задан Peter.O 11.12.2010 в 17:35
источник

6 ответов

20

Gnome использует диспетчер сеансов ( gnome-session ), чтобы отслеживать, что ему нужно делать. Он отвечает за воссоздание всей сессии, всех подпроцессов, восстановление состояния и сохранение его при выходе из системы.

  

GNOME предоставляет инструменты, позволяющие вашему приложению работать бесперебойно от сеанса к сеансу. Пользователи могут выйти из системы с запущенными приложениями и полностью восстановить эти приложения при их входе. - из Библиотека документации Gnome

Кроме всего прочего, менеджер сеансов пытается сохранить его экземпляр Nautilus. Nautilus должен зарегистрироваться в диспетчере сеансов для этого - что он делает по умолчанию; естественно, есть опция командной строки, чтобы отключить его:

nautilus --sm-disable

Вы можете убить запущенный процесс Nautilus, выполнив:

killall -9 nautilus     

ответ дан Stefano Palazzo 11.12.2010 в 18:01
источник
11

Как отмечали другие, gnome-session автоматически обновляет процесс nautilus . Он также делает это для gnome-panel и gnome-wm (который, в свою очередь, запускает диспетчер окон, настроенный пользователем, обычно compiz или metacity ).

Это поведение настраивается с помощью ключей desktop > gnome > session > required_components gconf.

Редактирование этого значения может быть полезно, если вы хотите, например, запустить с панели GNOME и использовать только Docky или AWN.     

ответ дан andrewsomething 11.12.2010 в 20:31
6

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
    
ответ дан msw 11.12.2010 в 18:03
5

Chipaca & amp; andrewsomething являются близкими ...:)

В файле /desktop/gnome/session/required_components_list перечислены «компоненты», которые должны отслеживаться gnome-session , и автоматически перезапускаться при их выходе. Значение по умолчанию для GNOME 2 похоже на [windowmanager,panel,filemanager] .

Если вы хотите предотвратить перенаправление nautilus (или какого-либо другого компонента «filemanager») из метода get (re), запускаемого этим механизмом, вы можете изменить значение на [windowmanager,panel] . (Вы все равно можете запустить его во время входа в систему, добавив его в список программ запуска сеанса, но он больше не будет перезагружен автоматически.)

Какое приложение (с параметрами командной строки) запускается для каждого компонента, определяется в /desktop/gnome/session/required_components в ключе с именем компонента. Возможно, здесь указано больше компонентов, чем в /desktop/gnome/session/required_components_list .

Теперь, в случае nautilus, по умолчанию, когда он еще не запущен, он запускается в фоновом режиме, и если установлен параметр /apps/nautilus/preferences/show_desktop , он также показывает Рабочий стол. Также можно сказать, что nautilus ведет себя по-разному с параметрами командной строки.

    
ответ дан JanC 12.12.2010 в 02:14
2

Nautilus перезапускается, потому что у вас есть рисунок на рабочем столе. Введите

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

в терминале, чтобы он прекратил это делать, и затем он не должен возвращаться после убийства.

    
ответ дан Chipaca 11.12.2010 в 20:04
0

в общей сложности do:

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 = ложь

(нашел его по адресу: Ссылка )

thats all ...

    
ответ дан O... 28.12.2011 в 00:14