惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
I
InfoQ
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
月光博客
月光博客
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
G
Google Developers Blog
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI
V
Visual Studio Blog

PixelNest

会议是效率的杀手 国庆出游记录 对居家办公的一些想法 2022 春节 《搏击俱乐部》的结局 纪念 PAI 头一回达到 100 卡片笔记法 《刑法学讲义》的部分摘录 迁移博客 《UNIX 传奇》摘录 就地过年 一点记录:docker-compose 编排不同项目间的网络 近期读的几本书 办新身份证 git 获取其他分支的单个文件或目录 我的高考成绩 推荐 2020 年上半年的 8 部影视作品 ChromeOS 开发者模式 终于下单了《守望者》 联通来电管家服务 一些实用的 bash 代码片段 关于 鸟枪换炮 《架构整洁之道》摘录 惨淡的星球大战 旧笔记本电脑 if...then... 命令行检测 SSL 证书过期时间 《程序员的职业素养》读书笔记 2019 国庆假期
蓝牙鼠标唤醒休眠的 Ubuntu
2019-01-02 · via PixelNest

当 Ubuntu 处于休眠状态时,可以通过直接插在电脑上的键盘唤醒,不能通过由蓝牙连接的鼠标唤醒。由于最近换了一款由电脑内置的蓝牙模块连接的键盘(不用蓝牙接收器)。Ubuntu 休眠时,蓝牙模块自然不工作,而我那蓝牙鼠标是由蓝牙接收器连接的,所以,我开始想方设法用这个蓝牙鼠标唤醒休眠的 Ubuntu。

文章中的 Ubuntu 版本是 18.04;蓝牙鼠标通过插在电脑上的接收器连接。

Dream is collapsing

grep . /sys/bus/usb/devices/*/power/wakeup 可以看到哪些设备可以唤醒 Ubuntu。

/sys/bus/usb/devices/1-2/power/wakeup:disabled
/sys/bus/usb/devices/1-4/power/wakeup:disabled
/sys/bus/usb/devices/1-7/power/wakeup:enabled
/sys/bus/usb/devices/1-9/power/wakeup:disabled
/sys/bus/usb/devices/2-3/power/wakeup:disabled
/sys/bus/usb/devices/2-4/power/wakeup:disabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled

上面结果中 devices/ 后面的是指某个设备。只要找到蓝牙鼠标接收器对应的设备是哪一个,给它的 disabled 改成 enabled 就可以了。

lsusb 查看有哪些外接设备,目标就在其中。

Bus 002 Device 003: ID 0424:5537 Standard Microsystems Corp.
Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 138a:0097 Validity Sensors, Inc.
Bus 001 Device 006: ID 13d3:5619 IMC Networks
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 005: ID 04d8:0b29 Microchip Technology, Inc.
Bus 001 Device 003: ID 0424:2137 Standard Microsystems Corp.
Bus 001 Device 002: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

容易看出,Bus 001 Device 002: ID 046d:c52f Logitech, Inc. Unifying Receiver 就是我的蓝牙鼠标的接收器。

然后在 dmesg 中查找相关的内容,可以把接收器插拔一次,在 dmesg 新输出的内容里面查找。会看到类似这样的一条记录:

[11947.137653] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:046D:C52F.0008/input/input26

这样就足以明确我们要改成 enabled 的是 1-2。可以用这条命令让这个过程更方便。

dmesg | grep "Logitech USB Receiver as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1

不要遗漏第一个 grep 内容最后的 as,否则过滤条件不对,最终结果也会出错,得不到想要找的号码。

然后 sudo -i 切换成 root 去修改目标接口的 wakeup 值:

echo 'enabled' > /sys/bus/usb/devices/1-2/power/wakeup

这样就可以由(通过蓝牙接收器连接的)蓝牙鼠标唤醒 Ubuntu 了。

有待改进的点:

  1. Ubuntu 重启后,自动修改 wakeup 的 disabled/enabled 状态
  2. 换 USB 口插接收器,自动修改对应设备接口号的 wakeup 状态。

参考: Wake up from suspend using wireless USB keyboard or mouse (for any Linux Distro)