¿Qué causa que Nautilus se reinicie cada vez que lo mato?

28

En htop, mato a Nautilus, y en un segundo, ¡está de vuelta, con un nuevo PID!

El Nautilus reiniciado se muestra en la lista de Procesos, pero no tiene interfaz gráfica de usuario hasta que inicie Nautilus manualmente ... He oído mencionar que Nautilus funciona de forma sincronizada con el escritorio ... tal vez esa sea la razón (?).

¿Hay algún tipo de programa "vigilante" que esté atento a algunos programas de distribución crítica? Monitorear Nautilus no parece un problema del kernel de Linux, así que me pregunto qué está pasando aquí.

Peter.O
fuente

Respuestas:

20

Gnome usa un Administrador de sesión ( gnome-session) para realizar un seguimiento de lo que debe hacer. Es responsable de mostrar toda la sesión, todos los subprocesos, restaurar el estado y guardarlo cuando cierre la sesión.

GNOME proporciona herramientas para permitir que su aplicación se ejecute sin problemas de una sesión a otra. Los usuarios pueden cerrar sesión con aplicaciones en ejecución y tener esas aplicaciones completamente restauradas cuando vuelven a iniciar sesión. - desde la Biblioteca de documentación de Gnome

Entre otras cosas, el administrador de sesión intenta mantener su instancia de Nautilus ejecutándose. Nautilus tiene que registrarse con el administrador de sesión para eso, lo que hace de manera predeterminada; naturalmente, hay una opción de línea de comandos para desactivarlo:

nautilus --sm-disable

Puede matar un proceso Nautilus en ejecución para siempre ejecutando:

killall -9 nautilus

Stefano Palazzo
fuente
Gracias Stefano. Has dado una buena visión general, y eso es lo que buscaba, pero como suele ser el caso, una explicación puede plantear otra (s) pregunta (s) ... Mencionaré una ahora: ejecuté nautilus --sm-disable(usuario y sudo). Esto puede haber deshabilitado la conexión con el administrador de sesión, pero el administrador de sesión siguió reiniciando nautilus (con "nautilus --sm-disable" que se muestra en la lista de procesos) ... Entonces, este parámetro solo surte efecto si se aplica al inicio de la sesión (frente a la mitad de la sesión), y ¿hay alguna ramificación grave cuando se desactiva? (Creo que el montaje automático desaparecería, pero ...
Peter.O
Bueno, nautilus --sm-disableen una función indocumentada . Entonces es difícil de decir. Pero tenga en cuenta que nautilus se reiniciará tan pronto como se elimine , tendría que comenzar la primera instancia con este parámetro. killall nautilus && nautilus --sm-disableno funciona El comando no deshabilita la función para las instancias en ejecución de nautilus. Puedes intentar combinar la respuesta mía y la de algo sorprendente. ;-)
Stefano Palazzo
uso killall -9 nautilus.
RolandiXor
nautilus --sm-disableno funciona en Ubuntu 15.10 ( Unknown option --sm-disable). Además, no hay sesión de Gnome.
Hubro el
11

Como otros han mencionado, gnome-sessionreaparece el nautilusproceso automáticamente. También lo hace para gnome-panely gnome-wm(que a su vez inicia el administrador de ventanas configurado por el usuario, generalmente compizo metacity).

Este comportamiento es personalizable a través de las desktop > gnome > session > required_componentsteclas gconf.

required_components claves gconf

Editar este valor puede ser útil si desea, por ejemplo, ejecutar sin el Panel GNOME y solo usar Docky o AWN.

andrewsomething
fuente
6

gnome-sessiones responsable de reaparecer nautilus. Como padre en el árbol de procesos, no hay otro proceso que pueda reaparecerlo.

ps -eaH muestra el árbol de proceso jerárquico extraído aquí:

    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
fuente
Gracias msw ... Esa es una lista bastante informativa (-eaH).
Peter
5

Chipaca y andrewsomething están cerca ... :)

La /desktop/gnome/session/required_components_listclave enumera los "componentes" que deben ser monitoreados gnome-sessiony reiniciados automáticamente cuando salen. El valor predeterminado para GNOME 2 es algo así [windowmanager,panel,filemanager].

Si desea evitar que nautilus (o cualquier "componente administrador de archivos" que haya configurado) se (re) inicie mediante este mecanismo, puede cambiar el valor a [windowmanager,panel]. (Aún puede iniciarlo durante el inicio de sesión agregándolo a la lista de programas de inicio de sesión, por supuesto, pero ya no se reiniciará automáticamente).

La aplicación (con qué parámetros de línea de comandos) se inicia para cada componente se define /desktop/gnome/session/required_componentsen una clave con el nombre del componente. Es posible que se enumeren más componentes de los que se usan en la /desktop/gnome/session/required_components_listclave.

Ahora, en el caso de nautilus, de manera predeterminada cuando aún no se está ejecutando, se inicia en segundo plano, y si la /apps/nautilus/preferences/show_desktoptecla está configurada, también muestra el Escritorio. También es posible decirle a Nautilus que se comporte de manera diferente con los parámetros de la línea de comandos.

JanC
fuente
Esta es la respuesta correcta.
Travis Watkins,
2

Nautilus se reinicia porque lo tiene dibujando el escritorio. Entrar

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

en una terminal para que deje de hacer eso, y luego no debería volver después de matar.

Chipaca
fuente
La show_desktop = Falseopción no evita que Nautilus se reinicie ... así que creo que Nautilus debe estar haciendo más cosas detrás de escena que solo eso ... Por cierto, me gusta esta opción, ya que no guardo nada en el escritorio, y es molesto cuando Screenshot guarda sus imágenes allí (no parece tener forma de cambiar esto) ... También noté otra opción que realmente me gusta : show_advanced_permissions True... Gracias :)
Peter.O
0

en total hacer:

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

y

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

cambiar a:

X-GNOME-AutoRestart = false

(lo encontró en: https://bbs.archlinux.org/viewtopic.php?id=119254 )

eso es todo...

O ...
fuente