Я вже досить довгий час бив головою проти цього. Це пов’язано з цим питанням . Я хотів би дізнатися, що саме відбувається, коли я вирішу вимкнути свій Linux-скриньку від GUI. Це здається погано (якщо взагалі) документально зафіксовано.
В ідеалі я сподіваюся на відповідь DE-та OS-агностики. Заперечуючи це, мене цікавить конкретний випадок Mandriva 2010.1 та Debian 6.x (Squeeze) та 7.0 (Wheezy) для всіх Gnome. (Якщо ви звертаєте пильну увагу, так, це Gnome 2 та Gnome 3)
В основному, я хотів би знати, яка команда / сценарій / послідовність скриптів запускається, коли я натискаю "Завершити роботу" або "Перезапустити", щоб я міг змінити їх поведінку. Деякі дописи на форумах, на які я розглядав, пропонують зламати, /etc/polkit-1/*
але ця структура каталогів є лише скелетом, наприклад, у вікні Debian (Squeeze).
Хтось може допомогти?
EDIT
Що я спробував поки що
- Замінила
shutdown
виконуваний сценарій власним сценарієм. Це не працює: коли я натискаю,shutdown
Gnome виходить з системи, не виконуючи сценарій. - Спробував редагувати меню Gnome 2. Немає радості: параметри "Вимкнення", "Вихід" та "Блокування екрана" в редакторі меню не відображаються.
- Поглянув
/usr/share/menu
, нічого корисного там немає.
Можливі шляхи вирішення
strace
з параметрами графічного інтерфейсу (чи це можливо навіть?)- Дивлячись на
shutdown
вихідний код Росії - Дивлячись на
gnome-session
вихідний код Росії
Оновлення
Відповідно до моїх коментарів до відповіді нижче, я переглянув polkit
дії під /usr/share/polkit-1/actions/
і знайшов (у файлі org.freedesktop.consolekit.policy
) дію під назвою, org.freedesktop.consolekit.system.stop-multiple-users
яка передає повідомлення
System policy prevents stopping the system when other users are logged in
Я думаю (завдяки org.freedesktop.*
умові іменування), що це якийсь сигнал, що надсилається до ДМ через D-BUS. Більше того, це повідомлення з’являється при спробі графічного відключення під час входу інших користувачів, тому механізм, який його запускає, повинен бути тим самим механізмом, який спрацьовує, коли з графічного інтерфейсу вибирається «Вимкнути» або «Вимкнути живлення».
Чи може хтось підтвердити / спростувати? Чи є можливість якось перехопити цей сигнал або змінити його?
/etc/init.d/rc.local
щоб викликати сценарій при зупинці .