Автор Тема: Xfce c Sysv  (Прочитано 562189 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #45 : 08.03.2016 11:50:41 »
Если sem@ не исправит polkit-sysvinit, есть вариант обкатать у себя шедевральный костыль, который основывается на:
- polkitd reads .rules files ... by sorting the files in lexical order based on the basename on each file
А значит есть вариант покатать у себя финт идеального костылизма, который для монтирования предположительно будет работать так:
- Сначала обрабатывается кособокий пакетный рулез монтирования с номером 60 пакета polkit-sysvinit. После него будет обработан костыльно ввёрнутый, но правильный рулез с номером 99, который (по-идее), если не будет конфликтов, и будет активировать правильные правила для монтирования файловых. Этим вариантом, правильный костыль, должен "задушить" соответствующий неправильный пакетный рулез.

Переустановил сборку dango по причине умирания винчестера.
Ввернул рулез описываемым образом:
# ls -1 /etc/polkit-1/rules.d/
50-default.rules
60-sysvinit-mount.rules
60-sysvinit-nm.rules
60-xfsm-shutdown-helper.rules
99-udisk2_mount.rules

И как и предполагалось, этот номер пролез.
« Последнее редактирование: 08.03.2016 11:53:06 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #46 : 08.03.2016 15:42:22 »
Заготовка сообщения для багрепорта #31501:



Текущее в свежепереустановленной системе из регулярного образа сборки dango

# rpm -qa|grep systemd
libsystemd-228-alt2
systemd-utils-228-alt2


# apt-cache rdepends systemd-utils
systemd-utils
Reverse Depends:
  vargus
  vargus
  startup
  udev
  systemd-services


Выключение и Перезагрузка не работают, - затенены.
Устанавливаем systemd-services
(Потом это понадобится и для накопителей)

# apt-get install systemd-services


который в свою очередь подтянет и

# apt-cache depends systemd-services|grep pam
  Требует: pam_systemd = 1:228-alt2


Текущее в системе

# rpm -qa|grep systemd
libsystemd-228-alt2
pam_systemd-228-alt2
systemd-utils-228-alt2
systemd-services-228-alt2


Все опции xfsm-shutdown-helper работают.

Выдрать systemd-utils и/или libsystemd не вышло:
удаление любого из этих пакетов приводит к полному выносу системы на xfce.


Пакетный рулез монтирования

# ls -1 /etc/polkit-1/rules.d/
50-default.rules
60-sysvinit-mount.rules
60-sysvinit-nm.rules
60-xfsm-shutdown-helper.rules


# cat /etc/polkit-1/rules.d/60-sysvinit-mount.rules
polkit.addRule(function(action, subject) {
    if (  ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) && subject.isInGroup("xgrp")   )
    {
   return polkit.Result.YES;
    }
});

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.eject-media"  && subject.isInGroup("xgrp") )
    {
   return polkit.Result.YES;
    }
});


# rpm -qf /etc/polkit-1/rules.d/60-sysvinit-mount.rules
polkit-sysvinit-0.2-alt1


не работает для несистемных (removable) устройств, если система установлена на несистемное устройство (udisks2 -- HintSystem: false) (в данном случае на usb-hdd).
Пакетный рулез монтирования работает, если система установлена на системное устройство (udisks2 -- HintSystem: true).


# udisksctl info -b /dev/sda | grep 'Device:\|HintSystem:\| \/'
    CryptoBackingDevice:        '/'
    Device:                     /dev/sda
    HintSystem:                 true
    PreferredDevice:            /dev/sda
    Symlinks:                   /dev/disk/by-id/ata-WDC_WD1000VE-00KWT0_WD-WXEZ05151397
                                /dev/disk/by-id/wwn-0x50014ee10003b206
                                /dev/disk/by-path/pci-0000:00:1f.1-ata-1


# udisksctl info -b /dev/sdb | grep 'Device:\|HintSystem:\| \/'
    CryptoBackingDevice:        '/'
    Device:                     /dev/sdb
    HintSystem:                 false
    PreferredDevice:            /dev/sdb
    Symlinks:                   /dev/disk/by-id/ata-TOSHIBA_MK5065GSX_10MIC05OT
                                /dev/disk/by-id/wwn-0x5000039243b85ee9
                                /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0


# udisksctl info -b /dev/sdc | grep 'Device:\|HintSystem:\| \/'
    CryptoBackingDevice:        '/'
    Device:                     /dev/sdc
    HintSystem:                 false
    PreferredDevice:            /dev/sdc
    Symlinks:                   /dev/disk/by-id/usb-Multiple_Card_Reader_058F63666433-0:0
                                /dev/disk/by-label/ALT\x20Linux\x20regular-xfce-sysv\x2fi586
                                /dev/disk/by-path/pci-0000:03:00.2-usb-0:1:1.0-scsi-0:0:0:0
                                /dev/disk/by-uuid/2016-01-18-15-09-32-00


# udisksctl info -b /dev/sr0 | grep 'Device:\|HintSystem:\| \/'
    CryptoBackingDevice:        '/'
    Device:                     /dev/sr0
    HintSystem:                 false
    PreferredDevice:            /dev/sr0
    Symlinks:                   /dev/cdrom
                                /dev/disk/by-id/ata-Optiarc_DVD_RW_AD-7560A_30648490_3103979Q112
                                /dev/disk/by-path/pci-0000:00:1f.1-ata-1


Ключевое здесь, это состояние HintSystem для устройства, которое разделяет устройства на системные и несистемные.


Поэтому добавляем свой кастомный рулез монтирования

# cat /etc/polkit-1/rules.d/99-udisk2_mount.rules
// Rule for system devices - internal HDD
//
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("xgrp")) {
    return polkit.Result.YES;
    };

// Rules for non system (removable) devices
//
// Create storage system group:
// groupadd -r storage
//
// Add USER to group storage
// gpasswd -a USER storage
//
// Relogin is needed
//
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat" && subject.isInGroup("storage")) {
    return polkit.Result.YES;
    };
        if (action.id == "org.freedesktop.udisks2.eject-media-other-seat" && subject.isInGroup("storage")) {
        return polkit.Result.YES;
        };
        if (action.id == "org.freedesktop.udisks2.power-off-drive-other-seat" && subject.isInGroup("storage")) {
        return polkit.Result.YES;
        };
});


Создаём группу storage

# groupadd -r storage


Добавляем пользователя в группу storage

# gpasswd -a логин_пользователя storage


Перелогиниваемся.
Монтирование несистемных накопителей работает.
Группа storage действует для всех устройств с HintSystem: false для пользователей добавленных в группу storage. Это извлекаемые накопители и накопители оптических дисков.
Пользователям состоящим в группе xgrp рулез разрешает монтировать файловые системы системных устройств (HintSystem: true), если файловая не прописана в fstab (в официальных альтах они смонтированы дефолтом через fstab) и не требует от пользователя познаний в конфигурировании fstab.


Пакетный же рулез монтирования
polkit-sysvinit-0.2-alt1
/etc/polkit-1/rules.d/60-sysvinit-mount.rules
в системе установленной на системное устройство, при установленных пакетах

libsystemd-228-alt2
pam_systemd-228-alt2
systemd-utils-228-alt2
systemd-services-228-alt2

не позволяет:
- смонтировать файловую систему несистемного (removable) устройства (HintSystem: false)
- извлечь (отключить питание) несистемное устройство
- смонтировать файловую оптического диска
- извлечь лоток оптического привода с диском

позволяет:
- смонтировать файловую системного устройства (internal hdd; HintSystem: true)
« Последнее редактирование: 08.03.2016 17:25:45 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #47 : 08.03.2016 17:44:09 »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #48 : 12.03.2016 01:19:41 »
Срочно требуется помощь.

Просьба к пользователям систем с regular-xfce-sysv:

Оттестировать контрольно этот рулез который предположительно уедет на p8(sisyphus?):
// Rule for system devices - internal HDD
//
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("xgrp")) {
    return polkit.Result.YES;
    };

// Rules for non system (removable) devices
//
// Create storage system group:
// groupadd -r storage
//
// Add USER to group storage
// gpasswd -a USER storage
//
// Relogin is needed
//
    if (action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat" && subject.isInGroup("storage")) {
    return polkit.Result.YES;
    };
        if (action.id == "org.freedesktop.udisks2.eject-media-other-seat" && subject.isInGroup("storage")) {
        return polkit.Result.YES;
        };
        if (action.id == "org.freedesktop.udisks2.power-off-drive-other-seat" && subject.isInGroup("storage")) {
        return polkit.Result.YES;
        };
});

Этот рулез должен заменить рулез
# rpm -ql polkit-sysvinit|grep mount
/etc/polkit-1/rules.d/60-sysvinit-mount.rules

содержащийся в пакете
# rpm -qa|grep polkit-sysvinit
polkit-sysvinit-0.2-alt1

По умолчанию этим рулезом
- разрешено монтирование файловых систем внутренних винчестеров (sata/ide-интерфейсы), если эти файловые не прописаны в fstab и пользователь входит в группу xgrp; монтирование через thunar;
- запрещено монтирование и извлечение извлекаемых носителей; разрешается для пользователя при создании системной группы storage с добавлением пользователя в эту группу.
(См. комментарии в рулезе)

Был бы чрезвычайно признателен, если бы кто-то сделал контрольную проверку этого рулеза в своей сизифной системе xfce+sysv.

Необходимые пакеты *systemd* для сизифной xfce+sysv:
этим вариантом
https://forum.altlinux.org/index.php?topic=36177.msg276136#msg276136
или этим
https://forum.altlinux.org/index.php?topic=36177.msg276168#msg276168

/sbin/init эти пакеты не убивают.

Также см.
https://bugzilla.altlinux.org/show_bug.cgi?id=31501#c16
« Последнее редактирование: 12.03.2016 01:23:19 от Speccyfighter »

dango

  • Гость
Re: Xfce c Sysv
« Ответ #49 : 12.03.2016 17:40:53 »
Новая сборка regular-xfce-sysv-20160312-i586.iso здесь https://yadi.sk/d/pNkdQrT3q7CLW
Изменения:
1. Разблокировка кнопок "Выключить" и "Перезагрузить"
согласно https://forum.altlinux.org/index.php?topic=36177.msg276168#msg276168
Решено добавлением пакета systemd-services в профиль regular-xfce-sysv
$ cat ~/regular.mk.diff
125d124
<       @$(call add,THE_PACKAGES,systemd-services)
Примечание: Это решение только для сборки regular-xfce-sysv. Для глобального решения для систем на sysvinit надо переносить в ../features.in/init/config.mk
2. Монтирование USB-носителей и дисков
согласно https://forum.altlinux.org/index.php?topic=36177.msg276171#msg276171
Решено добавлением в образ модернизированного пакета polkit-sysvinit-0.3-alt1.noarch.rpm
Исходник здесь: https://yadi.sk/d/EV62pJ7Gq7Epm
файл 60-sysvinit-mount.rules приведен к виду
$ cat ~/RPM/SOURCES/60-sysvinit-mount.rules
polkit.addRule(function(action, subject)
{
    if (action.id == "org.freedesktop.udisks2.filesystem-mount" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.eject-media"  && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    }

    if (action.id == "org.freedesktop.udisks2.power-off-drive" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    }

    if (action.id  == "org.freedesktop.udisks2.encrypted-unlock" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    }

    if (action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.eject-media-other-seat" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    };

    if (action.id == "org.freedesktop.udisks2.power-off-drive-other-seat" && subject.isInGroup("xgrp"))
    {
        return polkit.Result.YES;
    };
});
Примечание: Данная версия пакета в составе сборки не будет затерта при обновлениях старой версией из официальных репозиториев, пока не выйдет официальная новая версия пакета polkit-sysvinit. При этом был сохранен неизменным  ../features.in/init/config.mk
3. Создание раздела для сохранения сессий на флэшке
согласно https://forum.altlinux.org/index.php?topic=36177.msg275908#msg275908
Это осталось неисправленным. Не разобрался. Вроде для regular-xfce-sysv задействован live_rw. Но что-то не так, потому что при загрузке с флэшки режиме поддержки сеансов после загрузки ядра увидел:
...Remounting / with aufs
mount: wrong fs type, bad option, bad superblock on /dev/sdb2 missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program)
In some cases useful info is found in syslog - try dmesg | tail or so.
Где /dev/sdb2 должен быть разделом alt-live-storage на флэшке.
Надо разбираться.
4. Восстановление работоспособности parole
согласно https://bugzilla.altlinux.org/show_bug.cgi?id=31681
Решено в багзилле.

Спасибо Speccyfighter`у и Михаилу Шигорину за оказанную помощь.
Просьба протестировать данную сборку и сообщить о иных косяках в ней.
Заранее спасибо.
« Последнее редактирование: 12.03.2016 18:21:22 от dango »

dango

  • Гость
Re: Xfce c Sysv
« Ответ #50 : 12.03.2016 18:04:51 »
Замечание по медиаплееру parole на нетбуке Asus X101CH.
При попытке воспроизведения видеофайла с настройками по умолчанию выдается ошибка:
Цитировать
Ошибка драйвера GStreamer
Could not initialise Xv output
Решил:
1. Верхнее меню - Инструменты - Параметры
2. Установки Parole - Вкладка "Отображение"
3. Поле "Видео вывод" изменить на "Оконная система X (без Xv)"
4. Перезапуск Parole

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #51 : 14.03.2016 01:39:47 »
Новая сборка regular-xfce-sysv-20160312-i586.iso здесь https://yadi.sk/d/pNkdQrT3q7CLW

:-)
Не парни, ну вы хоть предупреждайте...
Не курю я. Ни марихуану, ни пульсаудию.

Из-за этого поттериговского говнища у меня нет звука.

Сначала звук рявкнул.
Потом убрал через xfce4-mixer уровень.
Теперь хрен его поднимешь, ни через xfce4-mixer, ни через alsamixer. Только через amixer в консоли.

Потёр нафик раздел и переустановил загрузчик старой твоей январской системы которая с алсой.

dango

  • Гость
Re: Xfce c Sysv
« Ответ #52 : 14.03.2016 07:17:48 »
:-)
Не парни, ну вы хоть предупреждайте...
Не курю я. Ни марихуану, ни пульсаудию.

Из-за этого поттериговского говнища у меня нет звука.

Сначала звук рявкнул.
Потом убрал через xfce4-mixer уровень.
Теперь хрен его поднимешь, ни через xfce4-mixer, ни через alsamixer. Только через amixer в консоли.

Потёр нафик раздел и переустановил загрузчик старой твоей январской системы которая с алсой.
Прошу прощения. Да, с регулировкой звука есть трабла.
Спасибо за багрепорт.

dango

  • Гость
Re: Xfce c Sysv
« Ответ #53 : 15.03.2016 07:26:11 »
Не парни, ну вы хоть предупреждайте...
Не курю я. Ни марихуану, ни пульсаудию.
Тут как бы так:
# apt-get remove libpulseaudio
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  gst-plugins-bad1.0 gst-plugins-good1.0 libSDL libcanberra libcanberra-gtk2
  libfluidsynth libmjpegtools2.1 libpulseaudio mpg123 parole pavucontrol
  pulseaudio-daemon xfce4-full xfce4-pulseaudio-plugin xfce4-regular
0 будет обновлено, 0 новых установлено, 15 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 24,2MB дискового пространства.
Продолжить? [Y/n]
Да, с регулировкой звука есть трабла.
Один и тот же образ.
1. В ВМ - звук из коробки и в Firefox на www.youtube.com и в медиаплеере parole.
2. Asus X101CH - звука нет. В alsamixer канал headphone после загрузки системы выключен, а канал speaker включен. А pavucontrol, похоже, считает что Устройство вывода "Аналоговые наушники" не активно (наушники же не подключены) и пытается работать через "Динамики". Звук в появляется только после того, как в pavucontrol оставить активным только Устройство вывода "Аналоговые наушники", а в alsamixer включить оба канала headphone и speaker. После перезагрузки "мыло - мочало, начинай сначала".

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #54 : 15.03.2016 22:24:24 »
Тут как бы так:
# apt-get remove libpulseaudio
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
  gst-plugins-bad1.0 gst-plugins-good1.0 libSDL libcanberra libcanberra-gtk2
  libfluidsynth libmjpegtools2.1 libpulseaudio mpg123 parole pavucontrol
  pulseaudio-daemon xfce4-full xfce4-pulseaudio-plugin xfce4-regular
0 будет обновлено, 0 новых установлено, 15 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 24,2MB дискового пространства.
Продолжить? [Y/n]

Не, если уж libpulse влетел, то трогать его нельзя, - на нём много чего может быть завязано и может улететь:
$ apt-cache depends chromium|grep pulse
  Требует: libpulseaudio
$ apt-cache depends mplayer|grep pulse
  Требует: <libpulse.so.0>
    libpulseaudio-8.0-alt1
  Требует: <libpulse.so.0(PULSE_0)>
    libpulseaudio-8.0-alt1
...

Если грохать, то пакет с пульсовым демоном.

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Re: Xfce c Sysv
« Ответ #55 : 28.03.2016 10:00:56 »
Установил сборку на ноутбук.
Обнаружил багу - в настройках xfce4-power-manager на закрытие крышки из возможных реакций только "выключить экран" и "заблокировать экран".  Установить на закрытие крышки "ждущий режим"  из настроек power-manager невозможно. Хотя из основного меню ждущий режим работает нормально.

...

dango

  • Гость
Re: Xfce c Sysv
« Ответ #56 : 28.03.2016 13:17:13 »
Если грохать, то пакет с пульсовым демоном.
Или перебирать весь профиль.
Обнаружил багу - в настройках xfce4-power-manager на закрытие крышки из возможных реакций только "выключить экран" и "заблокировать экран".  Установить на закрытие крышки "ждущий режим"  из настроек power-manager невозможно. Хотя из основного меню ждущий режим работает нормально.
Спасибо за сигнал. Я так понимаю, reinstall пакета xfce4-power-manager не помог? Если решите проблему в установленной системе, буду благодарен за отчет.
По сборке накопился ряд вопросов, требующих время на анализ и тестирование. Из-за перегруза на основной работе и редких набегов придется начинать разборки заново.
За внимание - спасибо. Заинтересованным вопрос: есть ли смысл xfce-full из коробки?

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Re: Xfce c Sysv
« Ответ #57 : 28.03.2016 19:40:09 »
Я так понимаю, reinstall пакета xfce4-power-manager не помог?
Не, не помиог. Там еще для кнопок типа "power" тоже выбор из "ничего не делать" и "спрашивать".. Что-то мне подсказывает что причина одна и та же. На "системном" уровне я вряд ли такое починю. Максимум на что меня хватит это попробовать через eeepc-acpi-scripts прикрутить обработчик на закрытие крышки.

 
есть ли смысл xfce-full из коробки?
Я думаю да. Но я бы заменил mousepad на uedit "из коробки", добавил бы тоже из коробки galculator, uBlock и NoScript для firefox.
« Последнее редактирование: 28.03.2016 20:07:50 от ASte »

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Re: Xfce c Sysv
« Ответ #58 : 28.03.2016 23:14:11 »
Ну да, если установить eeepc-acpi-scripts и в файл /etc/acpi/actions/lid.sh
прописать в самое начало вот так:
#!/bin/sh
/etc/acpi/actions/suspend.sh
exit 0
...
то при закрытии крышки сразу начинает засыпать
« Последнее редактирование: 29.03.2016 07:05:55 от ASte »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #59 : 29.03.2016 13:29:49 »
Угу, тоже посмотрел, и eeepc-acpi-scripts, и laptop-mode-tools, потом снёс.

Попробовал уснуть в память руками:
$ /usr/sbin/xfce4-pm-helper
No valid option was specified
$ /usr/sbin/xfce4-pm-helper --help
Usage:
  xfce4-pm-helper [OPTION...]

XFCE Power Management Helper

Help Options:
  -h, --help       Show help options

Application Options:
  --suspend        Suspend the system
  --hibernate      Hibernate the system
$ /usr/sbin/xfce4-pm-helper --suspend
This program can only be used by the root user
$ man pkexec|sed -n '4,11p'

NAME
       pkexec - Execute a command as another user

SYNOPSIS
       pkexec [--version] [--disable-internal-agent] [--help]

       pkexec [--user username] PROGRAM [ARGUMENTS...]
$ pkexec --help
pkexec --version |
       --help |
       --disable-internal-agent |
       [--user username] [PROGRAM] [ARGUMENTS...]

See the pkexec manual page for more details.
$ pkexec /usr/sbin/xfce4-pm-helper --suspend
==== AUTHENTICATING FOR org.xfce.power.xfce4-pm-helper ===
Authentication is required to place the system in suspend or hibernate mode
Authenticating as:

Увидел действие:
# sed -n '25,35p' /usr/share/polkit-1/actions/org.xfce.power.policy
  <action id="org.xfce.power.xfce4-pm-helper">
   
    <description>Suspend or hibernate the system</description>
    <message>Authentication is required to place the system in suspend or hibernate mode</message>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/xfce4-pm-helper</annotate>
  </action>

Набросал рулез:
# grep -v '\/\/' /etc/polkit-1/rules.d/60-xfce4-pm-helper.rules

polkit.addRule(function(action, subject) {
    if (action.id == "org.xfce.power.xfce4-pm-helper"  && subject.isInGroup("xgrp") )
    {
        return polkit.Result.YES;
    }
});


Засыпаем руками, - команда отрабатывает:
$ echo "Засыпаем в память" && pkexec /usr/sbin/xfce4-pm-helper --suspend && echo "Проснулись..."
Засыпаем в память
Проснулись...
И вроде бы осталось как-то команду куда-то и как-то повесить...

Но блин (!), кнопку закрытия крышки ноутбука сколько не нажимай, а она всегда open:
(Выполнение команды при нажатой кнопке закрытия крышки ноутбука)
# cat /proc/acpi/button/lid/C1E9/state
state:      open

Пошёл второй день, пока ни одной умной мысли...
« Последнее редактирование: 29.03.2016 13:58:58 от Speccyfighter »