Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

In htop, I kill Nautilus, and within one second, it's back, with a new PID!

The restarted Nautilus shows in the Processes list, but has no GUI until I manually launch Nautilus... I've heard mention of Nautilus works in lockstep with the desktop... maybe that is the reason(?).

Is there some sort of "watchdog" program keeping an eye on some distro-critical programs? Monitoring Nautilus doesn't seem like a Linux kernel issue, so I just wonder what is happening here?

share|improve this question

6 Answers 6

up vote 20 down vote accepted

Gnome uses a Session Manager (gnome-session) to keep track of what it needs to do. It is responsible for bringing up the whole session, all subprocesses, restoring state and saving it when you log out.

GNOME provides tools to allow your application to run smoothly from session to session. Users can log out with running applications and have those applications fully restored when they log back in. – from the Gnome Documentation Library

Among other things, the session manager tries to keep it's instance of Nautilus running. Nautilus has to register with the session manager for that - which it does by default; naturally, there's a command-line option to disable it:

nautilus --sm-disable

You can kill a running Nautilus process for good by running:

killall -9 nautilus

share|improve this answer
    
Thanks Stefano.. You have given a good overview, and that's what I was after, but as is often the case, an explanation can bring up another question(s)...I'll mention one now: I ran nautilus --sm-disable (user and sudo). This may have disabled the connection to the session-manager, but the session-manager kept right on restarting nautilus (with "nautilus --sm-disable" showing in the process list)... So does this parameter only take effect if it is applied at session startup (vs. mid-session), and are there any serious ramifications when disabled? (I think auto-mounting would vanish, but...? –  Peter.O Dec 12 '10 at 1:08
    
Well, nautilus --sm-disable in an Undocumented Feature. So it's hard to say. But keep in mind that nautilus will restart as soon as it's killed, you'd have to start the first instance of it with this parameter. killall nautilus && nautilus --sm-disable won't work. The command doesn't disable the feature for the running instances of nautilus. You might try to combine mine and andrewsomething's answer. ;-) –  Stefano Palazzo Dec 12 '10 at 14:47
    
use killall -9 nautilus. –  RolandiXor Dec 30 '10 at 12:09

As others have mentioned, gnome-session respawns the nautilus process automatically. It also does so for gnome-panel and gnome-wm (which in turn starts the window manager configured by the user, usually compiz or metacity).

This behavior is customizable through the desktop > gnome > session > required_components gconf keys.

required_components gconf keys

Editing these value can be useful if you would like to, for instance, run with out the GNOME Panel and only use Docky or AWN.

share|improve this answer

gnome-session is responsible for respawning nautilus. As its parent in the process tree, there is no other process that could respawn it.

ps -eaH shows you the hierarchical process tree excerpted here:

    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
share|improve this answer
    
Thanks msw... That's quite an informative listing (-eaH). –  Peter.O Dec 11 '10 at 17:30

Chipaca & andrewsomething are both close... :)

The /desktop/gnome/session/required_components_list key lists the "components" that should be monitored by gnome-session, and restarted automatically when they exit. The default value for GNOME 2 is something like [windowmanager,panel,filemanager].

If you want to prevent nautilus (or whatever "filemanager component" you have configured) from getting (re)started by this mechanism, you can change the value to [windowmanager,panel]. (You can still have it start during login by adding it to the list of session start-up programs of course, but it won't get restarted automatically anymore.)

What application (with what commandline parameters) gets started for each component is defined under /desktop/gnome/session/required_components in a key with the name of the component. It is possible that more components are listed here than are used in the /desktop/gnome/session/required_components_list key.

Now, in case of nautilus, by default when it is not running yet it starts in the background, and if the /apps/nautilus/preferences/show_desktop key is set it also shows the Desktop. It is also possible to tell nautilus to behave differently with commandline parameters.

share|improve this answer
    
This is the correct answer. –  Travis Watkins Dec 14 '10 at 4:30

Nautilus is being restarted because you have it drawing the desktop. Enter

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

in a terminal for it to stop doing that, and it then shouldn't come back after killing.

share|improve this answer
    
The show_desktop = False option does not prevent Nautilus from restarting... so I think Nautilus must be doing more behind the scenes than just that... By the way, I like this option, as I don't keep anything on the desktop, and it is annoying when Screenshot saves its images there (it doesn't seem to have any way to change this).... Also just noticed another option I really like: show_advanced_permissions True ... Thanks :) –  Peter.O Dec 11 '10 at 22:59

in total do:

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

and

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

change to:

X-GNOME-AutoRestart=false

(found it at: https://bbs.archlinux.org/viewtopic.php?id=119254 )

thats all...

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.