Saya telah membenturkan kepala saya terhadap ini selama beberapa waktu sekarang. Ini terkait dengan pertanyaan ini . Saya ingin mencari tahu apa yang terjadi ketika saya memilih untuk mematikan kotak Linux saya dari GUI. Ini sepertinya tidak terdokumentasi dengan baik.
Idealnya, saya mengharapkan jawaban DE- dan OS-agnostik. Kecuali itu, saya tertarik pada kasus spesifik Mandriva 2010.1 dan Debian 6.x (Squeeze) dan 7.0 (Wheezy) semuanya menjalankan Gnome. (Jika Anda memperhatikan dengan seksama, ya itu Gnome 2 dan Gnome 3)
Pada dasarnya, saya ingin tahu perintah / skrip / urutan skrip yang dimulai ketika saya menekan "Shut Down" atau "Restart" sehingga saya dapat mengubah perilaku mereka. Beberapa posting forum yang saya lihat menyarankan peretasan/etc/polkit-1/* tetapi struktur direktori ini hanya kerangka pada kotak Debian (Squeeze) saya, misalnya.
Adakah yang bisa membantu?
EDIT
Apa yang saya coba sejauh ini
- Mengganti
shutdownexecutable dengan skrip saya sendiri. Ini tidak berfungsi: ketika saya menekanshutdownkeluar log Gnome tanpa menjalankan skrip saya. - Sudah mencoba mengedit menu Gnome 2. Tanpa sukacita: opsi "Shutdown", "Log out" dan "Lock Screen" tidak muncul di editor menu.
- Dilihat
/usr/share/menu, tidak ada yang membantu di sana.
Kemungkinan jalan keluar untuk solusi
straceing opsi GUI (apakah ini mungkin?)- Melihat ke
shutdownkode sumber - Melihat
gnome-sessionkode sumber
Memperbarui
Sesuai komentar saya pada jawaban di bawah ini, saya telah melihat polkittindakan di bawah /usr/share/polkit-1/actions/dan menemukan (dalam file org.freedesktop.consolekit.policy) tindakan yang disebut org.freedesktop.consolekit.system.stop-multiple-usersmelempar pesan
System policy prevents stopping the system when other users are logged in
Saya berpikir (karena org.freedesktop.*konvensi penamaan) bahwa ini adalah semacam sinyal yang dikirim ke DM melalui D-BUS. Selain itu, pesan ini muncul ketika mencoba untuk mematikan secara grafis ketika pengguna lain masuk, sehingga mekanisme yang memicu itu harus dipicu mekanisme yang sama ketika "Matikan" atau "Matikan" dipilih dari GUI.
Adakah yang bisa mengkonfirmasi / membantah? Apakah ada kemungkinan mencegat sinyal ini atau memodifikasinya?
/etc/init.d/rc.localuntuk memanggil skrip saat dihentikan .