W skorupie gnoma „Tryb samolotowy” jest automatycznie aktywowany podczas uruchamiania wielu laptopów HP, gdy ekran jest przechylony na bok lub gdy pokrywa jest otwarta / zamknięta. Poniżej przedstawiono poprawkę dla laptopów HP z systemem Linux i korzystających z powłoki gnome. Kod dostępu 240 jest zdefiniowany jako KEY_UNKNOWN (rodzaj klucza braku operacji) w /usr/include/linux/input-event-codes.h. Również Twój syslog nie będzie już monitował o zdefiniowanie kodów HP e057 i e058, co może być wyjątkowo denerwujące.
Pierwszą jest poprawka z użyciem klasycznego skryptu inicjującego SysV, umieszczonego w katalogu init.d i odpowiednio dowiązanego symbolicznie (Zasadniczo chcemy, aby działał niezależnie od poziomu uruchamiania na wszystkim oprócz halt (0) lub restartu (6)). Drugi to usystematyzowana usługa, która jest znacznie bardziej niezawodna i być może obecna z ostatnimi zmianami systemowymi, które również działają na Fedorze 28 i innych platformach dystrybucyjnych. W szczególności w Fedorze znajdziesz prawie całkowity brak skryptów w katalogu /etc/init.d, wraz z małym README opisującym przejście z SysV na systemd. Pierwsza metoda będzie działać, ale druga metoda jest bardziej „przyjazna dla przyszłości”, szczególnie biorąc pod uwagę, dokąd zmierza Ubuntu, i będzie działać w nieco mniej ... irytujący sposób. Systemowe skrypty inicjujące są w rzeczywistości całkiem przydatne, w pełni zaimplementowane i często używane w Ubuntu 18.04.
Stara metoda SysV:
$ sudo sh -c 'printf "#! / bin / sh \ n / usr / bin / setkeycodes e057 240 e058 240 \ n"> /etc/init.d/hp-keycodes'
$ sudo chmod + x /etc/init.d/hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc1.d/K01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc2.d/S01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc3.d/S01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc4.d/S01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc5.d/S01hp-keycodes
$ sudo restart
Nowa zalecana metoda systemowa:
$ sudo nano /etc/systemd/system/hp-keycodes.service
Wklej następujące wiersze lub wpisz je do pliku:
[Jednostka]
Opis = Poprawka HP setkeycodes
[Usługa]
Wpisz = oneshot
Uruchom ponownie = nie
RemainAfterExit = nie
ExecStart = / usr / bin / setkeycodes e057 240 e058 240
[Zainstalować]
WantedBy = rescue.target
WantedBy = multi-user.target
WantedBy = graphical.target
Zapisz i potwierdź nazwę pliku za pomocą ctrl-x, y.
$ sudo systemctl daemon-reload
$ sudo systemctl włącza hp-keycodes.service
$ sudo restart
I to wszystko, nie musisz już denerwować dziwnych rzeczy, gdy przechylasz ekran lub zamykasz / otwierasz pokrywę laptopa!