在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重新启动
就是这样,当您倾斜屏幕或关闭/打开笔记本电脑盖时,再也不会出现令人讨厌的奇怪东西了!