Por que o "Modo Avião" continua alternando no meu laptop HP no Ubuntu 18.04?

15

Eu tenho um laptop conversível HP Spectre x360 e estou executando o Ubuntu 18.04. Sempre que viro a tela para o lado ou no modo tablet e para trás, o 'Modo Avião' é ativado. Na verdade, quando eu inicializo e faço o login, tenho que desligar manualmente o 'Modo Avião' e ligar o wifi novamente. Não quero desativar o plug-in gnome rfkill da seguinte forma: 'gsettings set org.gnome.settings-daemon.plugins.rfkill active false' porque, então, não consigo mais usar o bluetooth. Além disso, por algum motivo esquecido por Deus, mesmo quando eu desabilito o plug-in, o shell do gnome ativa o 'Modo Avião' de qualquer maneira, o que significa que eu tenho que voltar a ativar o Wi-Fi a cada vez que faço login. Isso é tão irritante, eu realmente gostei de onde o 18.04 estava indo, mas isso está quebrando seriamente toda a experiência do shell gnomo.

Nicholas Stommel
fonte
1
O problema apareceu com 17.10? Eu tenho o mesmo laptop e tive o mesmo problema com o Ubuntu 17.04. O que piora a versão 17.10 é que a tecla "modo avião / F12" não funciona mais, então tenho que ir ao menu superior direito para ativá-la novamente. Você tem o mesmo problema?
Pierre-Antoine
Pelo que sei, definir os códigos de tecla corretamente na inicialização também corrige o problema com a tecla f12 do modo avião não funcionando. Atualmente, estou alternando a tecla do modo avião com alegria, porque finalmente funciona. Isso só se tornou evidente depois que eu comecei a usar o shell do gnome em 17.10, pois nunca usei o gnome.
Nicholas Stommel

Respostas:

23

No shell do gnome, o "Modo avião" é ativado automaticamente na inicialização de muitos laptops HP, quando a tela é inclinada para o lado ou quando a tampa é aberta / fechada. A seguir, uma correção para laptops HP executando Linux e usando o shell gnome. O código da chave 240 é definido como KEY_UNKNOWN (um tipo de chave não operacional) em /usr/include/linux/input-event-codes.h. Além disso, seu syslog não solicitará mais que você defina os códigos HP e057 e e058, o que pode ser notavelmente irritante.

A primeira é uma correção usando um script init clássico do SysV, colocado no diretório init.d e com o link simbólico correspondente (basicamente, queremos que ele seja executado independentemente do nível de execução em qualquer coisa, exceto halt (0) ou reboot (6)). O segundo é um serviço systemd que é muito mais confiável e talvez presente com mudanças recentes no systemd, que também funcionam no Fedora 28 e outras plataformas de distribuição. No Fedora, em particular, você encontrará uma quase completa ausência de scripts no diretório /etc/init.d, junto com um pequeno README detalhando a transição do SysV para o systemd. O primeiro método funcionará, mas o segundo método é muito mais "favorável ao futuro", especialmente considerando o rumo do Ubuntu, e também funcionará de uma maneira um pouco menos ... irritante. Os scripts de inicialização do Systemd são realmente bastante úteis e totalmente implementados e usados ​​com freqüência no Ubuntu 18.04.

Método SysV antigo:

$ 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

Novo método de sistema recomendado:

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

Cole as seguintes linhas ou digite-as no arquivo:

[Unidade]
Descrição = correção do HP setkeycodes

[Serviço]
Tipo = oneshot
Reiniciar = não
RemainAfterExit = no
ExecStart = / usr / bin / setkeycodes e057 240 e058 240

[Instalar]
WantedBy = rescue.target
WantedBy = multi-user.target
WantedBy = graphical.target

Salve e confirme o nome do arquivo com ctrl-x, y.

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

E é isso, não há mais coisas estranhas irritantes quando você inclina a tela ou fecha / abre a tampa do laptop!

Nicholas Stommel
fonte
Isso funcionou para o meu notebook HP 15-ac14ne
Tooniis
1
isso não funcionou no ubuntu 17.10
nikhilweee 12/02/19
2
OBRIGADO. Isso funcionou no meu Spectre x360 quando muitas outras soluções não.
Matt West
1
Trabalhei no modo avião de login e rotação de tela no meu HP Spectre x360 de 13 "de 2015.
wakers01
1
Funciona perfeitamente para o meu HP Spectre 13-4110nd x360
Hugo
1

Eu enfrento o mesmo problema com 17.10 no meu HP Spectre x360. De fato, enfrento os problemas de Nicholas e Pierre-Antoine:

  • O modo avião é ativado sempre que faço login ou mudo para o modo tablet;
  • Fn + F12 (tecla Alternar modo avião) não está mais funcionando.

Para alternar rapidamente o wifi, criei um pequeno script:

## 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

Eu raramente uso bluetooth, então ele só lida com wifi, mas você pode modificá-lo facilmente para lidar com bluetooth e wifi.

Tudo isso é uma regressão clara de 17.04, onde tudo funcionou perfeitamente. Eu tentei o beta 18.04, mas é a mesma situação que com 17.10.

Nicholas, Pierre-Antoine, preencho como preencher dois relatórios de bugs sobre esses problemas (relatório por problema). Você acha que poderia ter um comentário nesses relatórios sempre que terminar de relatar? Isso ajudaria a confirmar o status do bug (mais de um usuário afetado).

Felicidades

Antoine
fonte
Para marcar um relatório de bug como afetando alguém, eles devem clicar no Does this bug affect you?link logo abaixo do título do bug.
Chai T. Rex
Se você registrou um bug, pode postar um link aqui para que outras pessoas com esse problema (inclusive eu) possam se inscrever nele.
ec2011
Infelizmente, até onde sei, isso é realmente algo sobre hardware de notebook conversível da HP que pode não estar presente na maioria das máquinas, portanto, adicionar uma cláusula especial ou script init no repositório oficial de pacotes pode não ser uma solução muito útil. todos. Este parece ser um problema de kernel e gnome-shell, meio que misturado em um. Eu poderia tentar registrar um relatório de bug contra o gnome-shell, mas eles mudaram para o pesadelo do gitlab há pouco tempo. A tecla do modo avião é corrigida com a resposta revisada (script init do systemd).
Nicholas Stommel
Antoine eu tinha tentado, mas não funcionou para mim você pode me ajudar neste askubuntu.com/q/1146524
ARIF MAHMUD RANA