Jadi, Web benar-benar hal yang luar biasa! Setelah banyak penelitian dan menyelam ke banyak tautan forum, saya berhasil lebih memahami masalahnya, untuk mengetahui program apa yang bertanggung jawab untuk itu, dan akhirnya, menonaktifkan perilaku ini untuk selamanya. Saya pikir saya akan menuliskan langkah saya, kalau-kalau orang lain mengalami masalah yang sama.
Langkah 1. Monitor sistem untuk mengetahui apakah / ketika lampu latar keyboard dihidupkan
Hal pertama yang perlu diketahui adalah status lampu latar keyboard saat ini dapat diperiksa dengan membaca file /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
. Jadi, kami ingin diberi tahu tentang segala perubahan pada file ini dan, idealnya, proses apa yang meminta perubahan itu.
Ini dapat dilakukan dengan menggunakan fanotify . Saya menggunakan contoh program yang disediakan di halaman manual dan menambahkan beberapa modifikasi * sehingga saya bisa memantau perubahan pada file kecerahan. Ternyata proses yang bertanggung jawab atas modifikasi adalah /usr/lib/upower/upowerd
, yang merupakan proses daemon untuk UPower .
Langkah 2. Cari tahu mengapa UPower menyalakan lampu latar (gagal)
Ini adalah bagian terselubung dari investigasi, dan saya masih tidak tahu mengapa ini terjadi. Saya menemukan seseorang dengan masalah yang sangat mirip tetapi tanpa solusi, jadi saya mulai melihat apakah saya bisa menonaktifkan UPower sepenuhnya (dan apa akibatnya) ketika saya menemukan tautan ini . Ternyata UPower memiliki file konfigurasi! Itu lebih baik.
Langkah 3. Stop UPower dari menyalakan lampu latar keyboard
Akhirnya, saya mengedit file konfigurasi tersebut, terletak di /etc/dbus-1/system.d/org.freedesktop.UPower.conf
, dan diubah <allow>
menjadi <deny>
pada baris berikut:
<allow send_destination="org.freedesktop.UPower"
send_interface="org.freedesktop.UPower.KbdBacklight"/>
Saya kemudian me-restart dbus with sudo service dbus restart
(digunakan systemctl restart dbus.service
pada Ubuntu 16.04 dan yang lebih baru) dan melanjutkan untuk mengunci layar saya untuk menguji hasilnya dan ... Ini berhasil !! Yah, agak. Layar masuk tidak akan muncul, jadi saya tidak bisa masuk kembali dan harus memaksa restart. Tapi kemudian semuanya bekerja dengan baik!
Dan itu dia! Saya masih penasaran apa cara yang tepat untuk melakukan ini. Jika Anda tahu, silakan tinggalkan komentar!
* Misalnya, program contoh hanya diatur untuk memantau FAN_OPEN_PERM
dan FAN_CLOSE_WRITE
acara, tetapi ini adalah FAN_MODIFY
acara.