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
shutdown
executable dengan skrip saya sendiri. Ini tidak berfungsi: ketika saya menekanshutdown
keluar 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
strace
ing opsi GUI (apakah ini mungkin?)- Melihat ke
shutdown
kode sumber - Melihat
gnome-session
kode sumber
Memperbarui
Sesuai komentar saya pada jawaban di bawah ini, saya telah melihat polkit
tindakan di bawah /usr/share/polkit-1/actions/
dan menemukan (dalam file org.freedesktop.consolekit.policy
) tindakan yang disebut org.freedesktop.consolekit.system.stop-multiple-users
melempar 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.local
untuk memanggil skrip saat dihentikan .