禁用蓝牙休眠唤醒

禁用蓝牙休眠唤醒

问题

当我合上盖子时,计算机进入休眠状态,我希望它一直处于休眠状态,直到我打开盖子并单击鼠标或击键。问题是我有一个蓝牙键盘和鼠标连接到它。所以如果我不小心按下鼠标按钮或键盘上的键,它就会从休眠状态唤醒,这非常烦人,因为我在工作时使用这台笔记本电脑,每天都带着它上下班,包括鼠标和键盘。

我把它们放在我的背包里,很自然地,鼠标和键盘上的键都在背包里被按下,从而唤醒了我不想要的笔记本电脑。

我努力了

我可以通过鼠标上的开关关闭鼠标,然后在需要使用鼠标时将其重新打开,因此鼠标不是问题所在。键盘才是问题所在。我有一个 Microsoft Surface 键盘,它不是连接到 USB 蓝牙适配器,而是直接连接到笔记本电脑的蓝牙。也没有开关可以关闭键盘。

我似乎也找不到有关休眠功能实际作用的正确信息。官方 ubuntu 文档似乎没有详细说明休眠功能,也没有说明哪些功能会受到影响、哪些不会受到影响以及如何受到影响。

我想要什么?

我想知道是否以及如何拥有类似的东西

如果盖子关闭 => 忽略输入

或者

休眠=>禁用蓝牙&&唤醒=>重新启用蓝牙。

答案1

您可以尝试编写一个服务文件,/etc/systemd/system/kill_bluetooth_on_hibernate.service

[Unit]
Description=Kill bluetooth on hibernate
Before=hibernate.target

[Service]
Type=simple
ExecStart=/usr/bin/rfkill block bluetooth

[Install]
WantedBy=hibernate.target  # Note that this would work on suspend.target though
                           # I'm not to certain about hibernate.target

确保记得启动它(如果您希望它在启动过程中持久存在,则启用它)。

systemctl restart kill_bluetooth_on_hiberate.service

我看到的唯一问题是,现在当计算机处于休眠状态时,您将无法使用蓝牙键盘/鼠标来唤醒计算机(除非这是您想要的)

另外,请确保您有一个单独的服务文件,以便在计算机唤醒时重新启用蓝牙

/etc/systemd/system/root-resume.service

[Unit]
Description=Revive bluetooth on wakeup
After=hibernate.target

[Service]
Type=simple
ExecStart=/usr/bin/rfkill unblock bluetooth

[Install]
WantedBy=hibernate.target

也启动/启用此服务

相关内容