У оболонці gnome "Airplane Mode" автоматично активується під час завантаження для багатьох ноутбуків HP, коли екран нахилений збоку або коли кришка відкривається / закривається. Далі наведено виправлення для ноутбуків HP під управлінням Linux та використанням оболонки gnome. Кейкод 240 визначається як KEY_UNKNOWN (різновид неопераційного ключа) у /usr/include/linux/input-event-codes.h. Також ваш системний журнал більше не підкаже вам визначити коди HP e057 та e058, що може бути надзвичайно дратує.
По-перше, це виправлення за допомогою класичного сценарію init.d SysV, розміщеного в каталозі init.d і відповідно позначеного символом (В основному, ми хочемо, щоб він працював незалежно від рівня запуску на будь-якому, крім зупинки (0) або перезавантаження (6)). По-друге, це системний сервіс, який набагато надійніший і, можливо, присутній з останніми системними змінами, що також працює на Fedora 28 та інших платформах дистрибуції. Зокрема, у Fedora ви знайдете майже повну відсутність скриптів у каталозі /etc/init.d, а також трохи README, що деталізує перехід від SysV до systemd. Перший метод буде працювати, але другий метод набагато більш "привітний у майбутньому", особливо з огляду на те, куди прямує Ubuntu, а також працюватиме дещо менш ... дратівливо. Системні скрипти init насправді досить зручні та повністю реалізовані та використовуються часто в Ubuntu 18.04.
Старий метод 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 перезавантаження
Новий рекомендований системний метод:
$ sudo nano /etc/systemd/system/hp-keycodes.service
Вставте наступні рядки або введіть їх у файл:
[Одиниця]
Опис = виправлення HP setkeycodes
[Сервіс]
Тип = onehot
Перезапуск = ні
RemainAfterExit = ні
ExecStart = / usr / bin / setkeycodes e057 240 e058 240
[Встановити]
WantedBy = рятувальний.ціль
WantedBy = багатокористувач
WantedBy = graphical.target
Збережіть та підтвердьте ім'я файлу за допомогою ctrl-x, y.
$ sudo systemctl перезавантаження демонів
$ sudo systemctl включити hp-keycodes.service
$ sudo перезавантаження
І це все, більше не дратуйте дивних речей, коли ви нахиляєте екран або закриваєте / відкриваєте кришку ноутбука!