понедельник, 14 июля 2014 г.

Debian Wheezy - Адский "сон".

приветствую о глубокоуважаемый олл!

Вернусь к теме которой касался в одном из предыдущих постов:

Предыстория:  Потребовалась определенная реакция на кнопки "power" и "sleep". Настройка этой реакции оказалась настоящим "адом".
Дело в том что Линукс стремительно движется в ГУЙ и следствием этого оказывается отказ от текстовых конфигов настраиваемых админом и переход к настройкам разным для разного пользователя залогиненого в рабочий стол. В итоге параллельно работают и админские настройки и пользовательские. В результате получаем реакции типа: Нажали кнопку "power" и ГУЙ выдал интерактивный запрос о действии и ждет таймаут до исполнения действия по умолчанию. Одновременно сработал acpid и отправил компьютер в гибернейт. Компьютер отдохнул и мы его включили. Он загрузил образ гибернейта с диалогом таймаута и упс... таймаут уже закончился и идем в "шатдаун/слип/гибернейт".

Если мы уберем реакцию из /etc/acpi/events то для каждого пользователя будет всё замечательно - но если пользователь отошел от компьютера и заблокировал его то другой человек не сможет его усыпить и при потребности "обесточить" выключит рабочую машину. То же самое будет если компьютер находится на этапе логина.

В результате долгих мучений придумал компромисс: Настроить реакцию на кнопки в /etc/acpi и отключить реакцию на кнопки в ГУЕ. Однако реализовать его не смог. Отключить реакцию на кнопки можно лишь в Гноме:

Настройка acpi
# cat /etc/acpi/events/powerbtn
event=button[ /]power
action=/usr/sbin/pm-hibernate

# cat /etc/acpi/events/sleepbtn
event=button[ /]sleep
action=/usr/sbin/pm-suspend

В Гноме под каждым юзером отключаем реакцию на кнопки:
$gsettings set org.gnome.settings-daemon.plugins.power button-power 'nothing'
$gsettings set org.gnome.settings-daemon.plugins.power button-suspend 'nothing'

Настройка MATE Desktop Environment
Система->Параметры->Управление питанием->Общие
При нажатии кнопки питания:  Спящий режим
При нажатии кнопки пеерхода в ждущий режим: Ждущий режим
(Как отключить реакцию не нашел)

Настройка Xfce
Меню приложений->Настройки->Менеджер питания
Общие->Когда нажата клавиша включения/выключения питания: спящий режим.
Общие->Когда нажата клавиша перехода в спящий режим: спрашивать.
Общие->Когда нажата клавиша перехода в ждущий режим: ждущий режим.

В итоге в менеджере логина GDM3 и в Гноме получаем реакцию на /etc/acpi а в MATE и Xfce надо выставлять настройки приводящие к такому же поведению.

Адский сон стал легче - но всё ещё продолжается.
Это следствие противоборства двух подходов: 1 - Систему настраивает специалист для всех пользователей сразу. 2 - Реакцию системы настраивает под себя каждый пользователь. В итоге в состоянии "неопределенности" (заблокированный компьютер или диалог логина) получаем неопределенную реакцию на сенсоры (нажатия кнопок, закрытия крышки ноутбука). В системе Linux тут же противоборство консоли и ГУЯ. В консоли большинство  системных настроек живет в /etc а в ГУЕ в домашнем каталоге залогоненного пользователя. На этапе логон экрана я к сожалению вообще не понимаю какая часть X окружения уже работает а какая нет.
В общем реакция на сенсоры у линукса пока неопределенная.

Комментариев нет:

Отправить комментарий