为什么在Ubuntu 18.04中我的HP笔记本电脑上会不断切换“飞行模式”?


15

我有一台HP Spectre x360可转换笔记本电脑,并且正在运行Ubuntu 18.04。每当我向侧面或平板电脑模式旋转屏幕时,都会激活“飞行模式”。实际上,当我启动并登录时,必须手动关闭“飞行模式”并重新打开wifi。我不想像这样禁用gnome rfkill插件:'gsettings set org.gnome.settings-daemon.plugins.rfkill active false',因为那样我就不能再使用蓝牙了。另外,出于某些不可思议的原因,即使我确实禁用了插件,gnome外壳仍然会打开“飞机模式”,这意味着每次登录时我都必须重新打开wifi。这真令人讨厌,我真的很喜欢18.04的运行方向,但这严重破坏了整个gnome shell的体验。


1
问题是否在17.10中出现?我有同一台笔记本电脑,而Ubuntu 17.04也有相同的问题。在17.10中更糟糕的是“飞机模式/ F12”键不再起作用,因此我必须转到右上角的菜单才能再次启用它。你有同样的问题吗?
皮埃尔·安托万

据我所知,在启动时正确设置键码也可以解决飞行模式f12键不起作用的问题。我目前正在高兴地切换飞行模式键,因为它终于可以工作了。在我从17.10开始真正使用gnome shell之后,对我来说这才变得显而易见,因为我从未使用过Gnome旋转。
Nicholas Stommel

Answers:


23

在gnome外壳中,对于许多HP笔记本电脑,在屏幕向侧面倾斜或打开/关闭机盖时,会在启动时自动激活“飞行模式”。以下是针对运行Linux并使用gnome shell的HP笔记本电脑的修复程序。在/usr/include/linux/input-event-codes.h中,键码240被定义为KEY_UNKNOWN(一种无操作键)。同样,您的系统日志也将不再提示您定义HP e057和e058代码,这可能会很烦人。

首先是使用经典的SysV初始化脚本的修复程序,该脚本位于init.d目录中,并进行了符号链接(基本上,我们希望其在暂停(0)或重新启动(6)以外的任何级别上都与运行级别无关地运行)。其次是系统服务,它更加可靠,并且可能会出现最近的系统更改,该更改也可以在Fedora 28和其他发行平台上运行。特别是在Fedora上,/etc/init.d目录中几乎完全没有脚本,还有一些自述文件详细说明了从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重新启动

推荐的新系统方法:

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

粘贴以下行或将其键入文件中:

[单元]
Description = HP setkeycodes修复

[服务]
类型=单发
重新启动=否
RemainAfterExit =否
ExecStart = / usr / bin / setkeycodes e057 240 e058 240

[安装]
WantedBy = rescue.target
WantedBy =多用户目标
WantedBy = graphical.target

保存并使用ctrl-x,y确认文件名。

$ sudo systemctl守护进程重新加载
$ sudo systemctl启用hp-keycodes.service
$ sudo重新启动

就是这样,当您倾斜屏幕或关闭/打开笔记本电脑盖时,再也不会出现令人讨厌的奇怪东西了!


这适用于我的HP笔记本电脑15-ac14ne
Tooniis

1
这在Ubuntu 17.10上
不起作用

2
谢谢。这在我的Spectre x360上有效,而其他许多解决方案却没有。
马特·韦斯特

1
工作了登录和屏幕旋转飞行模式在我2015年13" HP幽灵X360。
wakers01

1
非常适合我的HP Spectre 13-4110nd x360
Hugo,

1

我在HP Spectre x360上使用17.10时遇到了同样的问题。实际上,我同时面对尼古拉斯和皮埃尔·安托万的问题:

  • 每当我登录或翻转至平板电脑模式时,就会激活飞行模式;
  • Fn + F12(切换飞行模式键)不再起作用。

为了快速切换wifi,我编写了一个小脚本:

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

我很少使用蓝牙,因此它只能处理wifi,但是您可以轻松地对其进行修改以处理蓝牙和wifi。

所有这一切都是从17.04开始的明显回归,一切正常。我尝试了18.04 Beta,但情况与17.10相同。

尼古拉斯(Nicholas),皮埃尔·安托万(Pierre-Antoine),我就像填写了两个关于这些问题的错误报告一样(每个问题的报告)。您认为我完成报告后可以在这些报告中发表评论吗?这将有助于确认错误状态(一个以上的用户受到影响)。

干杯


要将错误报告标记为影响某人,他们应该单击Does this bug affect you?错误标题下方的链接。
Chai T. Rex

如果您提交了错误,是否可以在此处发布链接,以便有此问题的其他人(包括我自己)可以订阅?
ec2011

不幸的是,据我所知,这实际上是惠普可转换笔记本硬件,大多数机器上可能根本不存在,因此在官方软件包仓库中添加特殊子句或初始化脚本可能并不是解决问题的办法所有。这似乎是将内核和gnome-shell问题归为一类的问题。我可以尝试针对gnome-shell提交错误报告,但不久之后,他们刚刚切换到gitlab噩梦。飞行模式键由修改后的答案固定(系统初始化脚本)。
Nicholas Stommel

我曾经尝试过但没有为我工作的Antoine,您可以在这Askubuntu.com/q/1146524
ARIF MAHMUD RANA
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.