В htop я убиваю Наутилуса, и через одну секунду он возвращается с новым PID!
Перезапущенный Nautilus отображается в списке «Процессы», но не имеет графического интерфейса, пока я не запускаю Nautilus вручную ... Я слышал упоминание о том, что Nautilus работает в режиме локстепа с рабочим столом ... может, в этом причина (? ).
Есть ли какая-нибудь программа «сторожевого таймера», которая следит за некоторыми дистрибутивными программами? Наблюдение за Nautilus не похоже на проблему с ядром Linux, поэтому мне просто интересно, что здесь происходит?
Gnome использует Менеджер сеансов (gnome-session
) отслеживать то, что это должно сделать. Это ответственно за перевод в рабочее состояние целой сессии, всех подпроцессов, восстановления состояния и сохранения его, когда Вы выходите из системы.
GNOME обеспечивает инструменты, чтобы позволить Вашему приложению работать гладко от сессии до сессии. Пользователи могут выйти из системы с запущенными приложениями и восстанавливать те приложения полностью, когда они входят в. – от Библиотеки документации Gnome
Среди прочего менеджер сеансов пытается сохранить, это - экземпляр выполнения Наутилуса. Наутилус должен зарегистрироваться в менеджере сеансов для того - который он делает по умолчанию; естественно, существует параметр командной строки для отключения его:
nautilus --sm-disable
Можно уничтожить рабочий процесс Наутилуса окончательно путем выполнения:
killall -9 nautilus
Как уже упоминалось, gnome-session
автоматически запускает процесс nautilus
. Это также относится к gnome-panel
и gnome-wm
(что, в свою очередь, запускает диспетчер окон, настроенный пользователем, обычно compiz
или metacity
).
Это поведение можно настроить с помощью клавиш desktop > gnome > session > 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 & amp; andrewsomething оба близки ...:)
Клавиша /desktop/gnome/session/required_components_list
перечисляет «компоненты», которые должны контролироваться с помощью gnome-session
, и автоматически перезапускаются при выходе. Значением по умолчанию для GNOME 2 является что-то вроде [windowmanager,panel,filemanager]
.
Если вы хотите предотвратить запуск (пере) запуск этого механизма наутилусом (или любым другим «компонентом файлового менеджера», который вы настроили), вы можете изменить значение на [windowmanager,panel]
. (Вы все еще можете запустить его во время входа в систему, добавив его в список программ запуска сеанса, конечно, но он больше не будет перезапущен автоматически.)
Какое приложение (с какими параметрами командной строки) получает Запущенный для каждого компонента определяется под /desktop/gnome/session/required_components
в ключе с именем компонента. Возможно, здесь указано больше компонентов, чем используется клавишей /desktop/gnome/session/required_components_list
.
Теперь, в случае nautilus, по умолчанию, когда он еще не запущен, он запускается в фоновом режиме, а если установлена клавиша /apps/nautilus/preferences/show_desktop
, он также показывает рабочий стол. Также возможно сказать, что 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 = false
(найдено это по адресу: https://bbs.archlinux.org/viewtopic.php?id=119254 )