Почему «Режим полета» продолжает переключаться на моем ноутбуке HP в Ubuntu 18.04?

15

У меня ноутбук HP Specter x360 с откидным верхом, и я использую Ubuntu 18.04. Каждый раз, когда я поворачиваю экран вбок или в режиме планшета и обратно, активируется «Режим полета». Фактически, когда я загружаюсь и регистрируюсь, я должен вручную отключить «Режим полета» и снова включить Wi-Fi. Я не хочу отключать плагин gnome rfkill следующим образом: «gsettings set org.gnome.settings-daemon.plugins.rfkill active false», потому что тогда я больше не могу использовать Bluetooth. Кроме того, по какой-то богом забытой причине, даже когда я действительно отключаю плагин, оболочка gnome в любом случае включает «Режим полета», что означает, что я должен возвращать Wi-Fi обратно КАЖДЫЙ раз, когда я вхожу в систему. Это очень раздражает, я действительно понравилось, где 18.04 собирался, но это серьезно нарушает весь опыт оболочки гнома.

Николас Стоммел
источник
1
Проблема появилась с 17.10? У меня такой же ноутбук, и у меня была та же проблема с Ubuntu 17.04. Что еще хуже в 17.10, так это то, что клавиша «самолетный режим / F12» больше не работает, поэтому мне нужно перейти в верхнее правое меню, чтобы включить ее снова. У тебя та же проблема?
Пьер-Антуан
Насколько я могу судить, правильная установка кодов клавиш при запуске также устраняет проблему с неработающей клавишей f12 режима полета. В настоящее время я с радостью переключаю клавишу режима полета, потому что она наконец работает. Это стало очевидным для меня только после того, как я впервые начал использовать оболочку гнома в 17.10, так как я никогда не использовал вращение Гнома.
Николас Стоммел

Ответы:

23

В оболочке gnome «Режим полета» автоматически активируется при загрузке для многих ноутбуков HP, когда экран наклонен в сторону или когда крышка открыта / закрыта. Ниже приведено исправление для ноутбуков HP, работающих под управлением Linux и использующих оболочку gnome. Код ключа 240 определен как KEY_UNKNOWN (тип неактивного ключа) в /usr/include/linux/input-event-codes.h. Кроме того, ваш системный журнал больше не будет предлагать вам определять коды HP e057 и e058, которые могут быть очень раздражающими.

Во-первых, это исправление с использованием классического сценария инициализации SysV, помещенного в каталог init.d и соотнесенного с символической ссылкой (в основном, мы хотим, чтобы он выполнялся независимо от уровня запуска для чего-либо, кроме halt (0) или reboot (6)). Второй - это сервис systemd, который гораздо более надежен и, возможно, присутствует в последних изменениях systemd, который также работает на Fedora 28 и других дистрибутивных платформах. В частности, на Fedora вы найдете почти полное отсутствие скриптов в каталоге /etc/init.d вместе с небольшим README, подробно описывающим переход от SysV к systemd. Первый метод будет работать, но второй метод гораздо более «дружественен к будущему», особенно с учетом того, куда движется Ubuntu, и также будет работать немного менее ... раздражающим образом. Сценарии инициализации Systemd на самом деле довольно удобны, полностью реализованы и часто используются в 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 reboot

Новый рекомендуемый метод Systemd:

$ sudo nano /etc/systemd/system/hp-keycodes.service

Вставьте следующие строки или введите их в файл:

[Единица измерения]
Описание = исправление кодов установки HP

[Обслуживание]
Тип = OneShot
Restart = нет
RemainAfterExit = нет
ExecStart = / usr / bin / setkeycodes e057 240 e058 240

[Установить]
WantedBy = rescue.target
WantedBy = multi-user.target
WantedBy = graphical.target

Сохраните и подтвердите имя файла с помощью ctrl-x, y.

$ sudo systemctl daemon-reload
$ sudo systemctl enable hp-keycodes.service
$ sudo reboot

И это все, больше не надоедливые странные вещи, когда вы наклоняете экран или закрываете / открываете крышку ноутбука!

Николас Стоммел
источник
Это сработало для моего ноутбука HP 15-ac14ne
Tooniis
1
это не сработало в Ubuntu 17.10
nikhilweee
2
СПАСИБО. Это работало на моем Spectre x360, когда многие другие решения не сделали.
Мэтт Уэст,
1
Работал в режиме входа в систему и в режиме поворота экрана на моем 13-дюймовом HP Specter x360 2015 года.
wakers01
1
Прекрасно работает для моего HP Spectre 13-4110nd x360
Hugo
1

У меня та же проблема с 17.10 на моем HP Spectre x360. На самом деле, я сталкиваюсь с проблемами Николаса и Пьера-Антуана:

  • Режим полета активируется каждый раз, когда я вхожу или переключаюсь в режим планшета;
  • Fn + F12 (Toggle Airplane Mode key) больше не работает.

Чтобы быстро переключить Wi-Fi, я сделал небольшой скрипт:

## Content of ~/scripts/wifi_toggle : ##
    #!/bin/bash
    str=`export LANGUAGE=en_GB ; nmcli r wifi`
    [ "$str" == "enabled" ] && nmcli r wifi off
    [ "$str" == "disabled" ] && nmcli r wifi on

Я редко использую Bluetooth, так что он работает только с Wi-Fi, но вы можете легко изменить его для работы с Bluetooth и Wi-Fi.

Все это явный регресс от 17.04, где все работало без нареканий. Я попробовал 18.04 бета, но это та же самая ситуация, что и с 17.10.

Николас, Пьер-Антуан, я заполняю, как заполнение двух отчетов об ошибках по этим вопросам (по отчетам за выпуск). Как вы думаете, вы могли бы иметь комментарий в этих отчетах всякий раз, когда я закончу писать? Это поможет подтвердить состояние ошибки (затронуто более одного пользователя).

ура

Antoine
источник
Чтобы пометить сообщение об ошибке как затрагивающее кого-либо, ему следует щелкнуть Does this bug affect you?ссылку под заголовком ошибки.
Чай Т. Рекс
Если вы подали ошибку, можете ли вы опубликовать здесь ссылку, чтобы другие, кто имеет эту проблему (включая меня), могли подписаться на нее?
ec2011
К сожалению, насколько мне известно, это действительно аппаратное обеспечение для конвертируемых ноутбуков HP, которое может отсутствовать на большинстве компьютеров, поэтому добавление специального предложения или сценария инициализации в официальном репозитории пакетов может оказаться не слишком удачным решением. все. Похоже, что это проблема ядра и оболочки гнома, которая решена в одном. Я мог попытаться подать отчет об ошибке в gnome-shell, но они только что переключились на этот кошмар gitlab. Клавиша режима самолета фиксируется с исправленным ответом (сценарий инициализации systemd).
Николас Стоммел
Антуан, который я пробовал, но у меня не получилось, можете ли вы помочь мне в этом askubuntu.com/q/1146524
АРИФ МАХМУД РАНА