Wake On Open Open, но не приостановите на крышке рядом?

Нет, это не обязательно переносимо. Любая локальная установка может свободно изменять любую пару UID/имя (хотя обычно это не рекомендуется).

Для переносимости всегда следует использовать функции операционной системы для преобразования в числовые/символьные идентификаторы пользователей и групп (uid и gid).

Если вам важен числовой идентификатор пользователя (uid) 2, то используйте команды и системные вызовы, которые принимают и возвращают числовой идентификатор группы. Используйте команду getent или аналогичную для преобразования числового идентификатора в символьный, если это необходимо.

Если вам важен пользователь daemon, используйте символическую строку daemon при выполнении пользовательских операций или получите uid для пользователя с именем daemon (опять же, например, из getent), прежде чем передать uid команде или функции.

Многие команды, такие как ls и find, содержат опции для работы как с символическими именами групп, так и с числовыми идентификаторами групп. Другие команды, такие как getent, могут использоваться для преобразования в/из

1
24.07.2018, 04:10
1 ответ

Отключение приостановки при закрытии крышки

Отключение приостановки при закрытии крышки хорошо освещено на этом сайте, а также на других сайтах SE. Вот список вопросов и ответов по этой конкретной части вашего вопроса:

Включение пробуждения при открытой крышке

При настройке действия при открытии крышки, опять же, это рассматривается в нескольких вопросах:

Подход, с которого я начал, использует события APCI вашего оборудования. При таком конкретном подходе вы создадите скрипт, который будет запускаться при открытии события :

.
  • /etc/acpi/lid.sh

Затем вам нужно создать файл со следующим содержимым:

$ cat /etc/acpi/events/lm_lid
event=button/lid.*
action=/etc/acpi/lid.sh

Затем перезапустите службу ACPI примерно так:

$ service acpid restart

/etc/acpi/lid.sh

Существует множество версий скриптов, которые можно использовать для выполнения этой операции. Здесь есть один такой скрипт .

Суть этого скрипта примерно такая:

#!/bin/bash

grep -q close /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then
    echo close>>/tmp/screen.lid
fi
grep -q open /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then
    echo open>>/tmp/screen.lid
fi

В этом скрипте вам просто нужно переключить устройство LID или LID0 в /proc/acpi/wakeup. Это переключает устройство LID :

.
$ echo "LID" > /proc/acpi/wakeup

Таким образом, в приведенном выше скрипте вы должны проверить /proc/acpi/wakeup, чтобы увидеть, включен он или отключен. Если он отключен, то сделайте вышеописанное echo "LID"..., иначе ничего не делайте.

Ссылки

2
27.01.2020, 23:23

Теги

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