il mio laptop Dell è soggetto a questo bug con il kernel 3.14. Come soluzione alternativa ho scritto una sceneggiatura semplice
/ Usr / bin / luminosità-fix:
#!/bin/bash
echo 0 > /sys/class/backlight/intel_backlight/brightnes
(e reso eseguibile: chmod +x /usr/bin/brightness-fix
)
e un servizio systemd che lo chiama che viene eseguito all'avvio:
/etc/systemd/system/brightness-fix.service
[Unit]
Description=Fixes intel backlight control with Kernel 3.14
[Service]
Type=forking
ExecStart=/usr/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
#RemainAfterExit=yes
#SysVStartPriority=99
[Install]
WantedBy=multi-user.target
e abilitato: systemctl enable /etc/systemd/system/brightness-fix.service
Funziona come un incantesimo e posso controllare la luminosità del mio display come desiderato. Il problema si presenta quando il laptop riprende dopo essere passato in modalità di sospensione (ad es. Quando si chiude il labbro del laptop): il controllo della luminosità non funziona più se non eseguo manualmente il mio primo script sopra:/usr/bin/brightness-fix
Come posso creare un altro servizio di sistema come il mio sopra per essere eseguito al momento del ripristino?
EDIT:
Secondo i commenti qui sotto ho modificato il mio in brightness-fix.service
questo modo:
[Unit]
Description=Fixes intel backlight control with Kernel 3.14
[Service]
Type=oneshot
ExecStart=/usr/local/bin/brightness-fix
TimeoutSec=0
StandardOutput=syslog
[Install]
WantedBy=multi-user.target sleep.target
inoltre ho aggiunto echo "$1 $2" > /home/luca/br.log
al mio script per verificare se è effettivamente eseguito. Lo script viene effettivamente eseguito anche su resume ( post suspend
) ma non ha alcun effetto (la retroilluminazione è al 100% e non può essere modificata). Ho anche provato la registrazione $DISPLAY
e $USER
, al momento del ripristino, sono vuoti. Quindi la mia ipotesi è che la sceneggiatura venga eseguita troppo presto al risveglio dal sonno. Qualche suggerimento?
/usr/local/bin
, non è /usr/bin
. quella directory è riservata solo al gestore pacchetti.
sleep.target
farà funzionare l'unità quando il computer dorme, piuttosto che quando riprende. Vedi la mia risposta di seguito per un file di unità che ha funzionato per me con un problema simile.
WantedBy=sleep.target
...