Я знаю, что вы можете отключить режим ожидания, когда закрываете крышку ноутбука , но возможно ли, чтобы он не переходил в режим ожидания, если подключен Ethernet?
Итак, в основном, включен ли Батарея или нет, мне нужно, чтобы она работала так:
If laptop shell closed
If ethernet not plugged in
Go to standby
Else
Don't go to standby, ever
Есть ли способ добиться этого?
Хорошо, с некоторой информацией из других ответов, можно попробовать этот непротестированный метод:
От Выгоды крышка закрываются и открытые события
Сценарий, который Вы хотите назвать, когда крышка открывается или завершения, должен быть сохранен
в /etc/acpi/lid.sh
.
Затем там должен быть создан корректный файл /etc/acpi/events/lm_lid
с содержанием следующим образом:
event=button/lid.*
action=/etc/acpi/lid.sh
Перезагрузите свою систему, чтобы позволить этому вступить в силу. Или возможно достаточно перезапустить Ваше использование ACPI
sudo /etc/init.d/acpid restart
От https://unix.stackexchange.com/questions/252002/help-testing-special-file-in-sys-class-net и Как я могу приостанавливать/быть в спящем режиме из командной строки? /etc/acpi/lid.sh
сценарий будет похож на это (измените yournetworkcardname для своего имени Вашей сетевой платы. Использовать ifconfig
найти его). Можно выбрать между, приостанавливают или в спящем режиме.
#!/bin/bash
if [ "$(head -c1 /sys/class/net/yournetworkcardname/carrier)" -eq 0 ]; then
systemctl suspend
fi
Протестируйте сценарий с bash -x /etc/acpi/lid.sh
и удостоверьтесь, что это работает. Вам, возможно, придется добавить следующее для запущения скрипта как sudo, не будучи предложенным с паролем от https://unix.stackexchange.com/questions/18830/how-to-run-a-specific-program-as-root-without-a-password-prompt:
myusername ALL = (root) NOPASSWD: /etc/acpi/lid.sh
Возможно, необходимо будет также назвать сценарий в действии с sudo.