web-dev-qa-db-fra.com

Couvercle fermé et événements ouverts

J'ai essayé d'écrire un script comme celui-ci:

Comment configurer l'écran pour qu'il se verrouille quand je ferme le couvercle?

J'ai créé un répertoire et un nouveau fichier de script:

mkdir /etc/acpi/local
gksudo gedit /etc/acpi/local/lid.sh.post

Le fichier /etc/acpi/local/lid.sh.post avec le code suivant:

#!/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

J'ai essayé de faire fonctionner ceci dans Ubuntu 14.04, mais pourquoi cela n'a aucun effet.

Existe-t-il un nouveau moyen dans Ubuntu 14.04 de saisir les événements fermés et ouverts?

7
rubo77

J'ai un indice ici: https://askubuntu.com/a/518825/34298

  • Le script que vous voulez appeler lorsque le couvercle s'ouvre ou se ferme doit être stocké
    dans /etc/acpi/lid.sh.

  • Ensuite, il faut créer le fichier correct /etc/acpi/events/lm_lid avec le contenu suivant:

    event=button/lid.*
    action=/etc/acpi/lid.sh
    
  • Redémarrez votre système pour que cela prenne effet. Ou peut-être suffit-il de redémarrer votre ACPI en utilisant

    Sudo /etc/init.d/acpid restart
    
11
rubo77