Почему “Авиарежим” продолжает включать мой ноутбук HP в Ubuntu 18.04?

У меня есть HP Spectre x360 конвертируемый ноутбук, и я запускаю Ubuntu 18.04. Каждый раз, когда я поворачиваю экран набок или в режиме планшета и назад, 'Авиарежим' активируется. На самом деле, когда я загружаюсь и вхожу в систему, я должен вручную выключить 'Авиарежим' и снова включить Wi-Fi. Я не хочу отключать гнома rfkill плагин как так: 'gsettings устанавливают org.gnome.settings-daemon.plugins.rfkill активную ложь', потому что затем я больше не могу использовать Bluetooth. Кроме того, по некоторой заброшенной причине, даже когда я ДЕЙСТВИТЕЛЬНО отключаю плагин, оболочка гнома включает 'Авиарежим' так или иначе, что означает, что я должен пойти, возвращают Wi-Fi на КАЖДОМ разе, когда я вхожу в систему. Это является настолько раздражающим, мне действительно понравилось, куда 18.04 шел, но это серьезно повреждает целый опыт оболочки гнома.

15
задан 22 June 2018 в 18:25

3 ответа

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

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

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

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

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

[Unit]
Description=HP setkeycodes fix

[Service]
Type=oneshot
Restart=no
RemainAfterExit=no
ExecStart=/usr/bin/setkeycodes e057 240 e058 240

[Install]
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

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

22
ответ дан 23 November 2019 в 02:45

Я сталкиваюсь с той же самой проблемой с 17,10 на моем HP Spectre x360. На самом деле я сталкиваюсь и с проблемами Nicholas и Pierre-Antoine:

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

Для быстрого переключения 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.

Nicholas, Pierre-Antoine, я заполняюсь как заполнение двух отчетов об ошибках по этим проблемам (на отчете на проблему). Вы думаете, что могли, имел комментарий в этих отчетах каждый раз, когда я сделан, сообщив? Это помогло бы подтверждению состояния ошибки (больше чем один затронутый пользователь).

Удачи

1
ответ дан 23 November 2019 в 02:45

В ответ на ответ Николаса Стоммела udev также может устанавливать коды клавиш из hwdb для соответствующего оборудования. Фактически, системный udev hwdb является виновником этой неисправности в первую очередь. У меня есть следующий фрагмент в /etc/udev/hwdb.d/70-keyboard.hwdb:

# systemd's udev hwdb breaks our keyboard tablet mode switcheroo thing.  Fix it.

evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPSpectrex360Convertible*:pvr*
 KEYBOARD_KEY_ab=unknown    # emitted by brightness keys
 KEYBOARD_KEY_d7=f22        # normal mode - turn touchpad on
 KEYBOARD_KEY_d8=f23        # tablet mode - turn touchpad off

Установка этих клавиш на F22 и F23 заставит GNOME отображать значок включения/выключения сенсорной панели при переключении с /в режим планшета. Определение ab заключается в том, чтобы отключить предупреждение ядра всякий раз, когда нажимается любая клавиша уменьшения/увеличения яркости.

Не знаю, слишком ли строгий здесь селектор, но он работает на моем ноутбуке модели 2015 года. Соответствующее название продукта в селекторе можно найти, запустив sudo dmidecode.

1
ответ дан 6 January 2021 в 06:46

Другие вопросы по тегам:

Похожие вопросы: