Отключить автоматический режим полета в Ubuntu 22.04 на ноутбуке HP
Для пользователей ноутбуков может возникнуть довольно неприятная проблема: «Режим полета» автоматически включается при закрытии крышки или при наклоне экрана вбок.
Для ноутбуков HP под управлением Ubuntu, Fedora или другого Linux, использующего systemd, существует обходной путь, сопоставляющий скан-коды HP e057 и e058 со значением 240 (неактивный ключ). Таким образом, он не будет автоматически включать режим полета, хотя опция в настройках «Wi-Fi» и комбинация клавиш fn + F12 все еще работают.
ПРИМЕЧАНИЕ. Это руководство протестировано и работает в моей Ubuntu 22.04 на ноутбуке HP 246. Это может работать, а может и не работать на вашей машине.
1. Создайте сервис для переназначения сканкода:
1.) Сначала нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите команду для создания служебного файла и отредактируйте его с помощью текстового редактора Gedit:
sudo gedit /etc/systemd/system/hp-keycodes.service
В зависимости от среды вашего рабочего стола замените gedit
в команде текстовым редактором вашей системы (например, gnome-text-editor
для рабочей станции Ubuntu 22.10+/Fedora) или используйте nano
редактор командной строки, работающий в большинстве Linux. Когда файл откроется, вставьте строки ниже и сохраните его.
[Отряд]
Описание=Исправлены коды ключей HP setkeycodes.[Сервис]
Тип=одноразовый
Перезапуск=нет
RemainAfterExit=нет
ExecStart=/usr/bin/setkeycodes e057 240 e058 240[Установить]
WantedBy=rescue.target
WantedBy=multi-user.target
WantedBy=graphical.target
Как уже упоминалось, эта служба сопоставляет скан-коды e057 и e058 с кодом недействующей клавиши 240.
2. Включите услугу
2.) После сохранения файла (для nano нажмите Ctrl+X, введите y и нажмите Enter), перезагрузите и включите службу, выполняя команды ниже одну за другой:
sudo systemctl daemon-reload
sudo systemctl enable hp-keycodes.service
И, наконец, перезагрузите компьютер и проверьте результат!
Отмените изменения:
Если метод вам не подходит, просто запустите команду в терминале (Ctrl+Alt+T), чтобы отключить службу:
sudo systemctl disable hp-keycodes.service
Далее удалите файл:
sudo rm /etc/systemd/system/hp-keycodes.service
Наконец, перезагрузите компьютер, чтобы изменения вступили в силу.