O que faz o Nautilus reiniciar sempre que eu o mato?

28

No htop, eu mato o Nautilus e, em um segundo, está de volta, com um novo PID!

O Nautilus reiniciado é exibido na lista Processos, mas não tem GUI até que eu inicie o Nautilus manualmente ... Ouvi menção de que o Nautilus funciona em trava na área de trabalho ... talvez seja esse o motivo (?).

Existe algum tipo de programa "watchdog" vigiando alguns programas de distribuição crítica? Monitorar o Nautilus não parece ser um problema do kernel do Linux, então eu me pergunto o que está acontecendo aqui?

Peter.O
fonte

Respostas:

20

O Gnome usa um Session Manager ( gnome-session) para acompanhar o que ele precisa fazer. Ele é responsável por exibir toda a sessão, todos os subprocessos, restaurar o estado e salvá-lo quando você se desconecta.

O GNOME fornece ferramentas para permitir que seu aplicativo funcione sem problemas de sessão para sessão. Os usuários podem logar com a execução de aplicações e ter esses aplicativos totalmente restaurado quando eles login novamente -. A partir da documentação do GNOME Biblioteca

Entre outras coisas, o gerenciador de sessões tenta manter sua instância do Nautilus em execução. O Nautilus precisa se registrar no gerenciador de sessões para isso - o que faz por padrão; naturalmente, há uma opção de linha de comando para desativá-lo:

nautilus --sm-disable

Você pode matar um processo Nautilus em execução definitivamente executando:

killall -9 nautilus

Stefano Palazzo
fonte
Obrigado Stefano .. Você forneceu uma boa visão geral, e foi isso que eu procurava, mas como é frequentemente o caso, uma explicação pode trazer outra (s) pergunta (s) ... Vou mencionar uma agora: eu corri nautilus --sm-disable(usuário e sudo). Isso pode ter desativado a conexão com o gerenciador de sessões, mas o gerenciador de sessões continuou reiniciando o nautilus (com "nautilus --sm-disable" aparecendo na lista de processos) ... Então esse parâmetro só entra em vigor se é aplicado na inicialização da sessão (versus a metade da sessão) e há ramificações sérias quando desativado? (Acho auto-montagem desapareceria, mas ...?
Peter.O
Bem, nautilus --sm-disableem um recurso não documentado . Então é difícil dizer. Mas lembre-se de que o nautilus será reiniciado assim que for morto , você precisará iniciar a primeira instância dele com esse parâmetro. killall nautilus && nautilus --sm-disablenão vai funcionar. O comando não desativa o recurso para as instâncias em execução do nautilus. Você pode tentar combinar a minha e a resposta de outra pessoa. ;-)
Stefano Palazzo
use killall -9 nautilus.
RolandiXor
nautilus --sm-disablenão funciona no Ubuntu 15.10 ( Unknown option --sm-disable). Também não há sessão do Gnome.
Hubro 01/04
11

Como outros já mencionaram, gnome-sessionreaparece o nautilusprocesso automaticamente. Também o faz para gnome-panele gnome-wm(que, por sua vez, inicia o gerenciador de janelas configurado pelo usuário, geralmente compizou metacity).

Esse comportamento é personalizável através das desktop > gnome > session > required_componentsteclas gconf.

required_components chaves gconf

A edição desses valores pode ser útil se você desejar, por exemplo, executar sem o Painel GNOME e usar apenas Docky ou AWN.

andrewsomething
fonte
6

gnome-sessioné responsável por reaparecer o nautilus. Como pai na árvore de processos, não há outro processo que possa reaparecer.

ps -eaH mostra a árvore hierárquica do processo extraída aqui:

    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
fonte
Obrigado msw ... Essa é uma lista bastante informativa (-eaH).
Peter.O
5

Chipaca e andrewsomething estão próximos ... :)

A /desktop/gnome/session/required_components_listchave lista os "componentes" que devem ser monitorados gnome-sessione reiniciados automaticamente quando eles saem. O valor padrão para o GNOME 2 é algo como [windowmanager,panel,filemanager].

Se você deseja impedir que o nautilus (ou qualquer "componente gerenciador de arquivos" que você configurou) seja (re) iniciado por esse mecanismo, você pode alterar o valor para [windowmanager,panel]. (Você ainda pode iniciar o login durante o login, adicionando-o à lista de programas de inicialização da sessão, é claro, mas ele não será mais reiniciado automaticamente.)

Qual aplicativo (com quais parâmetros da linha de comando) é iniciado para cada componente é definido /desktop/gnome/session/required_componentsem uma chave com o nome do componente. É possível que mais componentes estejam listados aqui do que os utilizados na /desktop/gnome/session/required_components_listchave.

Agora, no caso do nautilus, por padrão, quando ainda não está em execução, ele inicia em segundo plano e, se a /apps/nautilus/preferences/show_desktopchave estiver definida, também mostra a área de trabalho. Também é possível dizer ao nautilus que se comporte de maneira diferente com os parâmetros da linha de comando.

JanC
fonte
Essa é a resposta correta.
Travis Watkins
2

O Nautilus está sendo reiniciado porque você o desenha na área de trabalho. Entrar

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

em um terminal para que pare de fazer isso, e não deve voltar depois de matar.

Chipaca
fonte
A show_desktop = Falseopção não impede que o Nautilus seja reiniciado ... então eu acho que o Nautilus deve estar fazendo mais nos bastidores do que apenas isso ... Aliás, eu gosto dessa opção, pois não mantenho nada na área de trabalho e é irritante quando tela salva suas imagens lá (não parece ter nenhuma maneira de mudar isso) .... Também notei outra opção que eu realmente gosto : show_advanced_permissions True... Thanks :)
Peter.O
0

no total, faça:

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

e

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

mudar para:

X-GNOME-AutoRestart = false

(encontrado em: https://bbs.archlinux.org/viewtopic.php?id=119254 )

Isso é tudo...

O ...
fonte