Thinkpad T450 под управлением Ubuntu 17.10, который был установлен (не обновлен) несколько недель назад. Я часто переходил из комнаты в комнату и хотел, чтобы ноутбук ложился спать, когда закрывал крышку. Кажется, никогда не делает этого, не спя все время. Я должен удерживать кнопку питания на индикаторе и выбрать значок паузы, чтобы приостановить его. Предыдущие выпуски Ubuntu использовались для «Just Work».
Я попытался включить опцию в Tweaks, чтобы убедиться, что она установлена на приостановку при закрытии крышки, но это не имеет значения. Это ошибка или ожидаемое поведение?
Оказывается, мы все были неправы. Магнит, который запускает датчик крышки, исчез внутри ноутбука. Я подтвердил это, поднеся магнит на холодильник к камере. Как только я это сделал, ноутбук подвесили нормально. Я подумал, что в основании есть магнит. Был, но он плавал (цеплялся за батарею) внутри машины. Я вернул его на место, и теперь оно работает.
Мы можем перехватить события открытия / закрытия крышки и привязать к ним сценарии, используя acpid
- демон событий расширенной конфигурации и интерфейса питания.
dconf-editor
, чтобы отключить действие закрытия крышки. Но, к сожалению, я не могу отключить это действие ... Поэтому я просто надеюсь, что это поможет вам. 1. Поймай события. Выполните одну из следующих команд, затем закройте и откройте крышку: acpi_listen
или netcat -U /var/run/acpid.socket
. Вот пример выходных данных:
$ acpi_listen
button/lid LID close
button/lid LID open
2. Сконфигурируйте acpid
для распознавания событий, инициируемых при изменении режима устройства. Создайте следующие файлы (не забудьте использовать фактические события из вышеприведенного шага):
/etc/acpi/events/lid-close
:
# /etc/acpi/events/lid-close
# This is called when the lid is closed
event=button/lid LID close
action=/etc/acpi/lid-actions.sh 1
/etc/acpi/events/lid-open
:
# /etc/acpi/events/lid-open
# This is called when the lid is open
event=button/lid LID open
action=/etc/acpi/lid-actions.sh 0
3. Перезапустите acpid
, чтобы он мог перечитать фильтры событий, включая фильтры, которые мы только что добавили:
sudo systemctl restart acpid.service
4. Создайте скрипт /etc/acpi/lid-actions.sh
(и сделайте его исполняемым), который приостановит работу ноутбука, когда крышка закроется 1
. Я понятия не имею, какое действие может быть полезно, когда крышка будет открыта 0
, поэтому эти строки прокомментированы.
#!/bin/sh
if [ "${1}" -eq 1 ]; then systemctl suspend # Lid is close
#elif [ "${1}" -eq 0 ]; then # Lid is open
fi
Ссылки:
Settings>Power Management>When laptop lid closed
Ps: зачем использовать твики ubuntu, когда есть возможность сделать это в приложении настроек по умолчанию