Półautomatyczna jasność matrycy

Kiedy podczas uruchomienia laptopa po raz kolejny zostajemy oślepieni w ciemnym pomieszczeniu radośnie wybuchającą pełnym blaskiem matrycą, obiecujemy sobie w końcu to naprawić. Jednak naprawa nie jest taka oczywista, gdyż taka błahostka jak automatycznie zapamiętywany stan jasności matrycy nie doczekał się wygodnej czy jednoznacznej deklaracji w ustawieniach systemu i na próżno szukać przełącznika, tudzież suwaka do tego zadania. Pozostają nam zatem rozwiązania naszych praojców, którzy za pomocą tekstowego terminala nie takie problemy ujarzmiali i czynili maszyny sobie poddanymi.

Na samym początku naszej przygody musimy upewnić się, że stan jasności ekranu jest określany i zapisywany w jakimś oznaczonym miejscu w naszym systemie. Najszybciej ustalimy to sprawdzają lokalizacje z danymi podsystemu ACPI. Dlatego sprawdzamy, czy mamy takie oczywiste pliki z danymi i czy mają one jakąś zawartość:

cat /sys/class/backlight/acpi_video0/brightness

Teoretycznie na przenośnym urządzeniu powinniśmy być pewni istnienia powyższej ścieżki. Jeżeli jednak podczas tego testu otrzymujemy komunikat No such file or directory, pozostaje nam sprawdzić, co też mamy w katalogu /sys/class/backlight/ (i czy w ogóle):

ls /sys/class/backlight

I w drodze do kontroli nad plikiem ‘brightness’, wystarczy uaktualnić ścieżkę i sprawdzić lokalizacje które tym sposobem odkryliśmy. Jeżeli ktoś uważa, że to zbyt uciążliwe, to niech wie, że i tak posiadacze lokalizacji /sys/class/backlight są w o wiele lepszej sytuacji, niż osoby które takiego katalogu nie widzą u siebie. Takie przypadki się zdarzają i oznaczają problem w komunikacji pomiędzy zamkniętym sterownikiem własnościowym a systemem (rozwiązaniem jest powrót do otwartych sterowników, o ile działa na nich nasza karta graficzna).

Teraz wystarczy zmienić jasność skrótem klawiszowym i ponownie sprawdzić zawartość tego pliku – powinna się zmienić, a my mamy swój punkt zaczepienia w odzyskiwaniu kontroli nad maszyną. Musimy bowiem zapisywać do tego pliku porządaną wartość przy każdym starcie systemu. Oczywiście nie będziemy tego robili ręcznie, tylko raz zapisawszy w pewnym miejscu odpowiednią wartość, pozwolimy by system od tej pory wykonywał tę żmudną czynność ża nas.

Otwieramy zatem do edycji plik /etc/rc.local (uwaga, dystrybucje z systemd muszą sobie radzić bez tego pliku – to odrębna opowieść):

sudo gedit /etc/rc.local

… i dopisujemy na jego końcu:

echo 6 > /sys/class/backlight/acpi_video0/brightness
exit 0

Wartość 6 zamieniamy wartością, która nas interesuje, a jaka ukazuje się po ustawieniu odpowiedniej jasności i sprawdzeniu pliku z samego początku opisu. I tak spreparowany /etc/rc.local zapisujemy.