laptop Dell saya mengalami bug ini dengan kernel 3.14. Sebagai solusinya saya menulis naskah sederhana
/ usr / bin / fix-fix:
#!/bin/bash
echo 0 > /sys/class/backlight/intel_backlight/brightnes
(dan membuat executable: chmod +x /usr/bin/brightness-fix
)
dan layanan systemd memanggilnya yang dijalankan saat startup:
/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
dan diaktifkan: systemctl enable /etc/systemd/system/brightness-fix.service
Itu berfungsi seperti pesona dan saya dapat mengontrol kecerahan layar saya seperti yang diinginkan. Masalahnya muncul ketika laptop melanjutkan setelah masuk ke mode tidur (misalnya ketika menutup bibir laptop): kontrol kecerahan tidak berfungsi lagi kecuali saya secara manual menjalankan skrip fisrt saya di atas:/usr/bin/brightness-fix
Bagaimana saya bisa membuat layanan systemd lain seperti milik saya di atas yang akan dieksekusi pada waktu resume?
EDIT:
Menurut komentar di bawah ini saya telah memodifikasi saya brightness-fix.service
seperti ini:
[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
juga saya telah menambahkan echo "$1 $2" > /home/luca/br.log
ke skrip saya untuk memeriksa apakah itu benar-benar dieksekusi. Script itu sebenarnya dieksekusi juga di resume ( post suspend
) tetapi tidak berpengaruh (backlit 100% dan tidak dapat diubah). Saya juga mencoba masuk $DISPLAY
dan $USER
dan, pada waktu resume, semuanya kosong. Jadi tebakan saya adalah bahwa skrip dieksekusi terlalu dini ketika bangun dari tidur. Ada petunjuk?
/usr/local/bin
tidak /usr/bin
. direktori itu dicadangkan untuk manajer paket saja.
sleep.target
akan menjalankan unit saat komputer tidur, bukan ketika itu dilanjutkan. Lihat jawaban saya di bawah untuk file unit yang bekerja untuk saya dengan masalah yang sama.
WantedBy=sleep.target
...