Cosa causa il riavvio di Nautilus ogni volta che lo uccido?


28

In htop, uccido Nautilus, e in un secondo è tornato, con un nuovo PID!

Il Nautilus riavviato viene visualizzato nell'elenco Processi, ma non ha una GUI fino a quando non lancio manualmente Nautilus ... Ho sentito parlare di Nautilus che funziona a stretto contatto con il desktop ... forse è questo il motivo (?).

Esiste una sorta di programma "watchdog" che tiene d'occhio alcuni programmi distro-critici? Il monitoraggio di Nautilus non sembra un problema del kernel Linux, quindi mi chiedo solo cosa sta succedendo qui?

Risposte:


20

Gnome utilizza un Session Manager ( gnome-session) per tenere traccia di ciò che deve fare. È responsabile dell'avvio dell'intera sessione, di tutti i sottoprocessi, del ripristino dello stato e del salvataggio durante la disconnessione.

GNOME fornisce strumenti per consentire alla tua applicazione di funzionare senza problemi da una sessione all'altra. Gli utenti possono disconnettersi con le applicazioni in esecuzione e ripristinarle completamente quando eseguono nuovamente l'accesso. - dalla Gnome Documentation Library

Tra le altre cose, il gestore della sessione cerca di mantenere in esecuzione l'istanza di Nautilus. Nautilus deve registrarsi con il gestore della sessione per quello - cosa che fa di default; naturalmente, c'è un'opzione da riga di comando per disabilitarlo:

nautilus --sm-disable

Puoi interrompere definitivamente un processo Nautilus in esecuzione eseguendo:

killall -9 nautilus


Grazie Stefano .. Hai dato una buona visione d'insieme, ed è quello che stavo cercando, ma come spesso accade, una spiegazione può far sorgere un'altra domanda ... ne citerò una ora: ho eseguito nautilus --sm-disable(utente e sudo). Questo potrebbe aver disabilitato la connessione al gestore delle sessioni, ma il gestore delle sessioni ha continuato a riavviare nautilus (con "nautilus --sm-disable" visualizzato nell'elenco dei processi) ... Quindi questo parametro ha effetto solo se viene applicato all'avvio della sessione (rispetto alla metà della sessione) e ci sono conseguenze gravi quando disabilitato? (Penso che il montaggio automatico svanirebbe, ma ...?
Peter

Bene, nautilus --sm-disablein una caratteristica non documentata . Quindi è difficile da dire. Ma tieni presente che nautilus si riavvierà non appena viene ucciso , dovresti avviarne la prima istanza con questo parametro. killall nautilus && nautilus --sm-disablenon funzionerà. Il comando non disabilita la funzione per le istanze in esecuzione di nautilus. Potresti provare a combinare la mia e la risposta di qualcos'altro. ;-)
Stefano Palazzo

usare killall -9 nautilus.
RolandiXor

nautilus --sm-disablenon funziona in Ubuntu 15.10 ( Unknown option --sm-disable). Inoltre non esiste una sessione di Gnome.
Hubro

11

Come altri hanno già detto, gnome-sessionrigenera nautilusautomaticamente il processo. Lo fa anche per gnome-panele gnome-wm(che a sua volta avvia il gestore di finestre configurato dall'utente, di solito compizo metacity).

Questo comportamento è personalizzabile tramite le desktop > gnome > session > required_componentschiavi gconf.

required_components chiavi gconf

La modifica di questo valore può essere utile se, ad esempio, si desidera eseguire senza il pannello GNOME e utilizzare solo Docky o AWN.


6

gnome-sessionè responsabile della rigenerazione di nautilus. Come genitore nell'albero del processo, non esiste altro processo che possa rigenerarlo.

ps -eaH mostra l'albero dei processi gerarchici estratto qui:

    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

Grazie msw ... Questo è un elenco piuttosto informativo (-eaH).
Peter.O

5

Chipaca e andrewsomething sono entrambi vicini ... :)

La /desktop/gnome/session/required_components_listchiave elenca i "componenti" che dovrebbero essere monitorati gnome-sessione riavviati automaticamente quando escono. Il valore predefinito per GNOME 2 è qualcosa di simile [windowmanager,panel,filemanager].

Se vuoi impedire a nautilus (o qualunque "componente filemanager" che hai configurato) di essere (ri) avviato da questo meccanismo, puoi cambiare il valore in [windowmanager,panel]. (Puoi comunque avviarlo durante il login aggiungendolo all'elenco dei programmi di avvio della sessione ovviamente, ma non verrà più riavviato automaticamente.)

Quale applicazione (con quali parametri della riga di comando) viene avviata per ciascun componente è definita /desktop/gnome/session/required_componentsin una chiave con il nome del componente. È possibile che qui siano elencati più componenti di quanti ne vengano utilizzati nella /desktop/gnome/session/required_components_listchiave.

Ora, nel caso di nautilus, per impostazione predefinita quando non è ancora in esecuzione si avvia in background e, se la /apps/nautilus/preferences/show_desktopchiave è impostata, mostra anche il desktop. È anche possibile dire a nautilus di comportarsi diversamente con i parametri della riga di comando.


Questa è la risposta corretta
Travis Watkins,

2

Nautilus viene riavviato perché è stato disegnato il desktop. accedere

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

in un terminale perché smetta di farlo, e poi non dovrebbe tornare dopo aver ucciso.


L' show_desktop = Falseopzione non impedisce il riavvio di Nautilus ... quindi penso che Nautilus debba fare di più dietro le quinte di questo ... A proposito, mi piace questa opzione, poiché non tengo nulla sul desktop, e è fastidioso quando Screenshot salva lì le sue immagini (non sembra avere alcun modo di cambiarlo) .... Ho anche notato un'altra opzione che mi piace molto : show_advanced_permissions True... Grazie :)
Peter.O

0

in totale fare:

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

cambia in:

X-GNOME-AutoRestart = false

(lo ho trovato su: https://bbs.archlinux.org/viewtopic.php?id=119254 )

È tutto...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.