Apa yang menyebabkan Nautilus restart setiap kali saya membunuhnya?

28

Di puncak, saya membunuh Nautilus, dan dalam satu detik, itu kembali, dengan PID baru!

Nautilus yang dimulai kembali muncul di daftar Processes, tetapi tidak memiliki GUI sampai saya secara manual meluncurkan Nautilus ... Saya pernah mendengar menyebutkan Nautilus bekerja berbaris dengan desktop ... mungkin itu alasannya (?).

Apakah ada semacam program "anjing penjaga" mengawasi beberapa program distro-kritis? Memantau Nautilus sepertinya bukan masalah kernel Linux, jadi saya hanya ingin tahu apa yang terjadi di sini?

Peter.O
sumber

Jawaban:

20

Gnome menggunakan Session Manager ( gnome-session) untuk melacak apa yang perlu dilakukan. Ini bertanggung jawab untuk memunculkan seluruh sesi, semua subproses, memulihkan keadaan dan menyimpannya saat Anda logout.

GNOME menyediakan alat untuk memungkinkan aplikasi Anda berjalan dengan lancar dari sesi ke sesi. Pengguna dapat keluar dengan menjalankan aplikasi dan memulihkan aplikasi-aplikasi tersebut ketika mereka masuk kembali - dari Perpustakaan Dokumentasi Gnome

Antara lain, manajer sesi mencoba untuk menjaga instance Nautilus tetap berjalan. Nautilus harus mendaftar dengan manajer sesi untuk itu - yang tidak secara default; tentu saja, ada opsi baris perintah untuk menonaktifkannya:

nautilus --sm-disable

Anda dapat mematikan proses Nautilus yang sedang berjalan untuk selamanya dengan menjalankan:

killall -9 nautilus

Stefano Palazzo
sumber
Terima kasih Stefano .. Anda telah memberikan ikhtisar yang baik, dan itulah yang saya cari, tetapi seperti yang sering terjadi, penjelasan dapat memunculkan pertanyaan lain ... Saya akan menyebutkan satu sekarang: Saya berlari nautilus --sm-disable(pengguna dan sudo). Ini mungkin telah menonaktifkan koneksi ke manajer sesi, tetapi manajer sesi tetap melanjutkan restart nautilus (dengan "nautilus --sm-disable" ditampilkan di daftar proses) ... Jadi, apakah parameter ini hanya berlaku jika diterapkan pada sesi awal (vs. pertengahan sesi), dan apakah ada konsekuensi serius saat dinonaktifkan? (Saya pikir pemasangan otomatis akan hilang, tapi ...?
Peter.O
Nah, nautilus --sm-disabledalam Fitur Tidak Terdokumentasi . Jadi sulit dikatakan. Tetapi perlu diingat bahwa nautilus akan memulai kembali segera setelah terbunuh , Anda harus memulai instance pertama dengan parameter ini. killall nautilus && nautilus --sm-disabletidak akan bekerja Perintah tidak menonaktifkan fitur untuk instance nautilus yang sedang berjalan. Anda mungkin mencoba menggabungkan jawaban saya dan andrewsomething. ;-)
Stefano Palazzo
gunakan killall -9 nautilus.
RolandiXor
nautilus --sm-disabletidak berfungsi di Ubuntu 15.10 ( Unknown option --sm-disable). Juga tidak ada sesi Gnome.
Hubro
11

Seperti yang telah disebutkan orang lain, gnome-sessionrespawn nautilusproses secara otomatis. Ia juga melakukannya untuk gnome-paneldan gnome-wm(yang pada gilirannya memulai manajer jendela yang dikonfigurasikan oleh pengguna, biasanya compizatau metacity).

Perilaku ini dapat dikustomisasi melalui desktop > gnome > session > required_componentstombol gconf.

diperlukan_komponen kunci gconf

Mengedit nilai ini dapat berguna jika Anda ingin, misalnya, menjalankan tanpa Panel GNOME dan hanya menggunakan Docky atau AWN.

andrewsomething
sumber
6

gnome-sessionbertanggung jawab untuk respawning nautilus. Sebagai induknya di pohon proses, tidak ada proses lain yang bisa mengulanginya.

ps -eaH memperlihatkan Anda pohon proses hierarkis yang dikutip di sini:

    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
sumber
Terima kasih msw ... Itu daftar yang informatif (-eaH).
Peter.O
5

Chipaca & andrewsomething keduanya dekat ... :)

The /desktop/gnome/session/required_components_listdaftar kunci "komponen" yang harus dipantau oleh gnome-session, dan restart secara otomatis ketika mereka keluar. Nilai default untuk GNOME 2 adalah sesuatu seperti [windowmanager,panel,filemanager].

Jika Anda ingin mencegah nautilus (atau "komponen filemanager" apa pun yang telah Anda konfigurasi) memulai (kembali) dengan mekanisme ini, Anda dapat mengubah nilainya menjadi [windowmanager,panel]. (Anda masih dapat memulainya saat masuk dengan menambahkannya ke daftar program memulai sesi, tentu saja, tetapi program tidak akan memulai kembali secara otomatis lagi.)

Aplikasi apa (dengan parameter commandline apa) yang dimulai untuk setiap komponen didefinisikan /desktop/gnome/session/required_componentsdi bawah dengan kunci dengan nama komponen. Ada kemungkinan bahwa lebih banyak komponen terdaftar di sini daripada yang digunakan pada /desktop/gnome/session/required_components_listkunci.

Sekarang, dalam kasus nautilus, secara default ketika tidak berjalan belum dimulai di latar belakang, dan jika /apps/nautilus/preferences/show_desktopkunci diatur itu juga menunjukkan Desktop. Dimungkinkan juga untuk memberitahu nautilus untuk berperilaku berbeda dengan parameter commandline.

JanC
sumber
Ini jawaban yang benar.
Travis Watkins
2

Nautilus sedang direstart karena Anda telah menggambar desktop. Memasukkan

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

di terminal untuk berhenti melakukan itu, dan kemudian tidak boleh kembali setelah membunuh.

Chipaca
sumber
The show_desktop = Falsepilihan ini tidak mencegah Nautilus me-restart ... jadi saya pikir Nautilus harus melakukan lebih di belakang layar dari itu ... By the way, saya seperti pilihan ini, karena saya tidak menyimpan sesuatu pada desktop, dan menjengkelkan ketika Screenshot menyimpan gambarnya di sana (sepertinya tidak ada cara untuk mengubah ini) .... Juga perhatikan opsi lain yang saya sangat suka : show_advanced_permissions True... Terima kasih :)
Peter.O
0

secara total lakukan:

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

dan

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

mengubah:

X-GNOME-AutoRestart = false

(menemukannya di: https://bbs.archlinux.org/viewtopic.php?id=119254 )

itu saja...

HAI...
sumber