Быстрый перевод стартеркита
alt-p8-mate-20180612-i586.iso
с systemd на sysvinit
mate-power-manager не работает же в sysV?
Это решаемо:
В polkit-sysvinit нужен рулез:
# grep -r 'action\|description' /usr/share/polkit-1/actions/org.mate.power.policy
<action id="org.mate.power.backlight-helper">
<description>Modify the laptop brightness</description>
</action>
# cat /etc/polkit-1/rules.d/60-mate-power-backlight-helper.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.mate.power.backlight-helper" && subject.isInGroup("xgrp") )
{
return polkit.Result.YES;
}
});
Регулировка яркости дисплея начинает работать сразу без перезагузки.
Но есть другая проблема:
С ConsoleKit2-x11 опции Перезагрузить и Выключить появляются, но несмотря на имеющиеся экшны
# grep -r 'action\|description' /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy | grep -v '\/act'
<action id="org.freedesktop.consolekit.system.stop">
<description>Stop the system</description>
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<action id="org.freedesktop.consolekit.system.restart">
<description>Restart the system</description>
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<action id="org.freedesktop.consolekit.system.suspend">
<description>Suspend the system</description>
<action id="org.freedesktop.consolekit.system.suspend-multiple-users">
<description>Suspend the system when multiple users are logged in</description>
<action id="org.freedesktop.consolekit.system.hibernate">
<description>Hibernate the system</description>
<action id="org.freedesktop.consolekit.system.hibernate-multiple-users">
<description>Hibernate the system when multiple users are logged in</description>
<action id="org.freedesktop.consolekit.system.hybridsleep">
<description>Hybrid sleep the system (sleep + hibernate)</description>
<action id="org.freedesktop.consolekit.system.hybridsleep-multiple-users">
<description>Hybrid sleep the system (sleep + hibernate) when multiple users are logged in</description>
и подсунутый рулез
# cat /etc/polkit-1/rules.d/60-consolekit-system-suspend.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.consolekit.system.suspend" && subject.isInGroup("wheel") )
{
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.consolekit.system.suspend-multiple-users" && subject.isInGroup("wheel") )
{
return polkit.Result.YES;
}
});
опция Ждущий не появляется.
Теоретически это можно раскрутить через рулез
# cat /etc/polkit-1/rules.d/60-policykit-exec.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.policykit.exec" && subject.isInGroup("wheel") )
{
return polkit.Result.YES;
}
});
$ pkexec /usr/sbin/pm-suspend
и
только (!!!) для группы wheel:
этот рулез опасен, поскольку разрешает беспарольное выполнение root-овых команд через pkexec всем кто находится в указанной группе.
Полный обзор перевода стартеркита mate на sysvvinit, тут:
http://forum.russ2.com/index.php?showtopic=4276&view=findpost&p=50271Кстати нужно запрещать установку пакета gtk-theme-switch в mate, иначе после перебора тем mate, последует незавершающиеся процессы после закрытия окна, полная загрузка всех ядер процессора и отказ в обслуживании с полным фризом X-сов. Костя сообщил, что виновник этого бага mate, пакет gtk-theme-switch. Этот пакет ни в коем случае не должен попадать в mate.