Ubuntu 15.04 Приостанавливает, не работает 'пополудни - приостанавливают'

После обновления до Ubuntu GNOME 15.04 (от 14,10), я заметил мой pm-utils рычаги в /etc/pm/sleep.d не работают больше на, приостанавливают/возобновляют.

У меня есть пользовательский сценарий, который сохраняет яркость, прежде чем приостановят, и восстанавливает его после резюме. Если я вручную работаю sudo pm-suspend рычаги выполняются, но если я закрываю крышку ноутбука (который приостанавливает Ubuntu), сценарии не выполняются. Я пропускаю что-то?

Сценарий яркости в/etc/pm/sleep.d (работал над 14,04 и 14.10):

#!/bin/bash

case "$1" in
    suspend|suspend_hybrid|hibernate)
        cat /sys/class/backlight/acpi_video0/brightness > /tmp/.brightness_level
        # modprobe -r nvidiabl
        ;;
    resume|thaw)
        # modprobe nvidiabl
        cat /tmp/.brightness_level > /sys/class/backlight/acpi_video0/brightness
        rm /tmp/.brightness_level
        ;;
esac
6
задан 9 May 2015 в 03:30

1 ответ

Обновление: Найденный более хорошим использованием решения systemd без внешних сценариев. Создайте и включите следующий сервис:

[Unit]
Description=Save brightness on suspend
DefaultDependencies=no
RequiresMountsFor=/var/lib/systemd/backlight
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/systemd/systemd-backlight save acpi_video0
ExecStop=/lib/systemd/systemd-backlight load acpi_video0
TimeoutSec=90s

[Install]
WantedBy=sleep.target

Примечание к Ubuntu 16.04: целевое имя устройства подсветки должно быть снабжено префиксом "подсветку": (например. backlight:acpi_video0).

Включите путем выполнения: systemctl enable suspend-save-backlight.service (или независимо от того, что Вы называете его). Обратите внимание, что acpi_video0 является названием символьной ссылки подсветки в /sys/class/backlight то, которое используется для управления яркостью дисплея, могло бы варьироваться в различных системах.

Вышеупомянутый systemd's использования systemd-backlight исполняемый файл, чтобы сохранить и загрузить яркость прежде приостанавливает и после резюме соответственно (вдохновленный /lib/systemd/system/systemd-backlight@.service который сохраняет/загружает яркость на перезапуске/начальной загрузке).


Старое решение (связывает a systemd сервис к моему пополудни-utils приостанавливает рычаг),

Найденный проблемой. В соответствии с этой статьей ArchWiki:

systemd не использует пополудни-utils для помещения машины для сна, когда использование systemctl приостанавливает, systemctl в спящем режиме или systemctl гибридный сон; пополудни-utils рычаги, включая любые пользовательские рычаги, не будут выполнены. Однако systemd обеспечивает два подобных механизма для запущения пользовательских скриптов на этих событиях.

Так правильный способ сделать это с systemd (который используется по умолчанию в 15,04), должен создать следующие сервисные файлы, которые выполняют мой сценарий регулировки яркости в /etc/pm/sleep.d/ следующим образом:

  1. /etc/systemd/system/root-suspend.service:

    [Unit]
    Description=Local system suspend actions
    Before=sleep.target
    
    [Service]
    Type=simple
    ExecStart=-/etc/pm/sleep.d/nvidiabl_brightness suspend
    
    [Install]
    WantedBy=sleep.target
    
  2. /etc/systemd/system/root-resume.service:

    [Unit]
    Description=Local system resume actions
    After=suspend.target
    
    [Service]
    Type=simple
    ExecStart=-/etc/pm/sleep.d/nvidiabl_brightness resume
    
    [Install]
    WantedBy=suspend.target
    

Затем выполните следующее для включения этих сервисов:

systemctl enable root-suspend.service
systemctl enable root-resume.service

Обратитесь к связанной статье для получения дополнительной информации.

8
ответ дан 23 November 2019 в 07:38

Другие вопросы по тегам:

Похожие вопросы: