Я попытался написать сценарий, подобный этому предложению:
Я создал каталог и новый файл скрипта:
mkdir /etc/acpi/local
gksudo gedit /etc/acpi/local/lid.sh.post
Файл /etc/acpi/local/lid.sh.post
со следующим кодом:
#!/bin/sh
#########################################################################
## Script written by Ruben Barkow ##
## https://gist.githubusercontent.com/rubo77/1a3320fda5a47fdebde7/raw/87cde3f0554467a132aba3cda7ad3c5e7187571f/lid.sh.post
## Description: This script reacts if laptop lid is opened or ##
## closed in Ubuntu 11.10 (Oneiric Ocelot). ##
## ##
## This script can be freely redistributed, modified and used. ##
## Any redistribution must include the information of authors. ##
## ##
## THIS SCRIPT HAS NO WARRANTY! ##
#########################################################################
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
Я пытался запустить это в Ubuntu 14.04, но почему-то это не дало никакого эффекта.
Есть ли в Ubuntu 14.04 новый способ перехвата событий закрытия и открытия крышки?
решение1
У меня есть подсказка:https://askubuntu.com/a/518825/34298
Скрипт, который вы хотите вызывать при открытии или закрытии крышки, должен быть сохранен
в/etc/acpi/lid.sh
.Затем необходимо создать правильный файл
/etc/acpi/events/lm_lid
со следующим содержимым:event=button/lid.* action=/etc/acpi/lid.sh
Перезагрузите систему, чтобы это вступило в силу. Или, может быть, достаточно перезапустить ACPI с помощью
sudo systemctl restart acpid.service