Qu'est-ce qui fait redémarrer Nautilus chaque fois que je le tue?

28

En htop, je tue Nautilus, et en une seconde, c'est de retour, avec un nouveau PID!

Le Nautilus redémarré s'affiche dans la liste des processus, mais n'a pas d'interface graphique jusqu'à ce que je lance manuellement Nautilus ... J'ai entendu parler de Nautilus fonctionne en parallèle avec le bureau ... c'est peut-être la raison (?).

Existe-t-il une sorte de programme de "surveillance" qui surveille certains programmes critiques pour la distribution? La surveillance de Nautilus ne semble pas être un problème de noyau Linux, donc je me demande simplement ce qui se passe ici?

Peter.O
la source

Réponses:

20

Gnome utilise un Session Manager ( gnome-session) pour garder une trace de ce qu'il doit faire. Il est chargé d'afficher la session entière, tous les sous-processus, de restaurer l'état et de l'enregistrer lorsque vous vous déconnectez.

GNOME fournit des outils pour permettre à votre application de fonctionner sans problème d'une session à l'autre. Les utilisateurs peuvent se déconnecter avec les applications en cours d'exécution et avoir ces applications entièrement restaurées lorsqu'ils se reconnectent. - à partir de la bibliothèque de documentation Gnome

Entre autres choses, le gestionnaire de session essaie de maintenir son instance de Nautilus en cours d'exécution. Nautilus doit s'enregistrer auprès du gestionnaire de session pour cela - ce qu'il fait par défaut; naturellement, il y a une option en ligne de commande pour le désactiver:

nautilus --sm-disable

Vous pouvez tuer définitivement un processus Nautilus en cours d'exécution en exécutant:

killall -9 nautilus

Stefano Palazzo
la source
Merci Stefano .. Vous avez donné un bon aperçu, et c'est ce que je recherchais, mais comme c'est souvent le cas, une explication peut amener une ou plusieurs autres questions ... J'en mentionnerai une maintenant: j'ai couru nautilus --sm-disable(utilisateur et sudo). Cela peut avoir désactivé la connexion au gestionnaire de session, mais le gestionnaire de session a continué de redémarrer nautilus (avec "nautilus --sm-disable" affiché dans la liste des processus) ... Ce paramètre ne prend donc effet que s'il est appliqué au démarrage de la session (par rapport à la mi-session), et y a-t-il des ramifications graves lorsqu'il est désactivé? (Je pense que le montage automatique disparaîtrait, mais ...?
Peter.O
Eh bien, nautilus --sm-disabledans une fonctionnalité non documentée . C'est donc difficile à dire. Mais gardez à l'esprit que nautilus redémarrera dès qu'il sera tué , vous devrez en démarrer la première instance avec ce paramètre. killall nautilus && nautilus --sm-disablene fonctionnera pas. La commande ne désactive pas la fonctionnalité pour les instances en cours d'exécution de nautilus. Vous pourriez essayer de combiner la mienne et la réponse de andrewsomething. ;-)
Stefano Palazzo
utiliser killall -9 nautilus.
RolandiXor
nautilus --sm-disablene fonctionne pas dans Ubuntu 15.10 ( Unknown option --sm-disable). Il n'y a pas non plus de session Gnome.
Hubro du
11

Comme d'autres l'ont mentionné, gnome-sessionréapparaît nautilusautomatiquement. Il le fait également pour gnome-panelet gnome-wm(qui à son tour démarre le gestionnaire de fenêtres configuré par l'utilisateur, généralement compizou metacity).

Ce comportement est personnalisable via les desktop > gnome > session > required_componentsclés gconf.

clés gconf required_components

La modification de ces valeurs peut être utile si vous souhaitez, par exemple, exécuter sans le panneau GNOME et utiliser uniquement Docky ou AWN.

andrewsomething
la source
6

gnome-sessionest responsable de la réapparition du nautile. En tant que parent dans l'arborescence des processus, aucun autre processus ne peut le faire réapparaître.

ps -eaH vous montre l'arbre de processus hiérarchique extrait ici:

    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
la source
Merci msw ... C'est une liste assez informative (-eaH).
Peter.O
5

Chipaca et andrewsomething sont tous deux proches ... :)

La /desktop/gnome/session/required_components_listclé répertorie les «composants» qui doivent être surveillés par gnome-sessionet redémarrés automatiquement lorsqu'ils quittent. La valeur par défaut de GNOME 2 est quelque chose comme [windowmanager,panel,filemanager].

Si vous souhaitez empêcher nautilus (ou tout autre "composant de gestionnaire de fichiers" que vous avez configuré) d'être (re) démarré par ce mécanisme, vous pouvez remplacer la valeur par [windowmanager,panel]. (Vous pouvez toujours le faire démarrer lors de la connexion en l'ajoutant à la liste des programmes de démarrage de session bien sûr, mais il ne sera plus redémarré automatiquement.)

Quelle application (avec quels paramètres de ligne de commande) démarre pour chaque composant est définie sous /desktop/gnome/session/required_componentsdans une clé avec le nom du composant. Il est possible que davantage de composants soient répertoriés ici que ceux utilisés dans la /desktop/gnome/session/required_components_listclé.

Maintenant, dans le cas de nautilus, par défaut, quand il n'est pas en cours d'exécution, il démarre en arrière-plan, et si la /apps/nautilus/preferences/show_desktopclé est définie, elle affiche également le bureau. Il est également possible de dire à nautilus de se comporter différemment avec les paramètres de ligne de commande.

JanC
la source
Ceci est la bonne réponse.
Travis Watkins du
2

Nautilus est en cours de redémarrage car vous l'avez dessiné sur le bureau. Entrer

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

dans un terminal pour qu'il arrête de faire ça, et il ne devrait pas revenir après avoir tué.

Chipaca
la source
L' show_desktop = Falseoption n'empêche pas Nautilus de redémarrer ... donc je pense que Nautilus doit faire plus dans les coulisses que juste cela ... Au fait, j'aime cette option, car je ne garde rien sur le bureau, et ça est ennuyeux lorsque Screenshot enregistre ses images là-bas (il ne semble pas avoir de moyen de changer cela) .... J'ai également remarqué une autre option que j'aime vraiment : show_advanced_permissions True... Merci :)
Peter.O
0

au total:

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

et

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

changer en:

X-GNOME-AutoRestart = false

(trouvé à: https://bbs.archlinux.org/viewtopic.php?id=119254 )

c'est tout...

O ...
la source