当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 怎么获取笔记本电脑的睡眠和唤醒事件?
帖子发表于 : 2016-09-06 12:13 

注册: 2014-04-08 0:22
帖子: 4
系统: windows7
送出感谢: 0 次
接收感谢: 0 次
需求场景是这样的:
我有一个无线键盘,笔记本上需要插相应的USB接收器,我希望可以不用的时候合上笔记本盖子直接让系统睡眠,但是如果不小心按到无线键盘的话会使系统唤醒,而且我还不想来回插拔接收器,就是让它一直插在那,想做一个程序实现在系统睡眠/唤醒的时候自动禁用/启用无线键盘。

我已经知道的:
1. 可以通过xinput命令启用/禁用无线键盘
2. 在系统睡眠前org.freedesktop.login1.Manager会通过dbus发送PrepareForSleep信号

现在就缺一个知道何时系统唤醒的事件了,哪位大神可以指点一下? 或者提供点相关的资料,小菜将不胜感激~~~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 怎么获取笔记本电脑的睡眠和唤醒事件?
帖子发表于 : 2016-09-06 12:24 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
luzhlon 写道:
但是如果不小心按到无线键盘的话会使系统唤醒

方法一:使用 pm-suspend 或 systemctl suspend 待机,撰写钩子
方法二:禁用相应 USB 插座的唤醒功能

可挑选其一或另择他法。


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 怎么获取笔记本电脑的睡眠和唤醒事件?
帖子发表于 : 2016-09-07 14:45 

注册: 2014-04-08 0:22
帖子: 4
系统: windows7
送出感谢: 0 次
接收感谢: 0 次
vickycq 写道:
luzhlon 写道:
但是如果不小心按到无线键盘的话会使系统唤醒

方法一:使用 pm-suspend 或 systemctl suspend 待机,撰写钩子
方法二:禁用相应 USB 插座的唤醒功能

可挑选其一或另择他法。


感觉方法二比较简单一些,请问怎么禁用相应的USB唤醒功能? 我在BIOS里看到一个USE WAKE SUPPORT,已经禁用了,可是不管用;系统设置里也没找到相关的选项。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 怎么获取笔记本电脑的睡眠和唤醒事件?
帖子发表于 : 2016-09-07 15:12 
头像

注册: 2011-03-20 13:12
帖子: 4552
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
luzhlon 写道:
感觉方法二比较简单一些,请问怎么禁用相应的USB唤醒功能?

先运行以下指令查看支持唤醒的设备
代码:
$ cat /proc/acpi/wakeup

例 在试验机上运行结果如下
引用:
Device S-state Status Sysfs node
GPP0 S4 *disabled pci:0000:00:02.2
GPP1 S4 *disabled pci:0000:00:02.3
GPP2 S4 *disabled
GPP3 S4 *disabled pci:0000:00:02.5
GFX S4 *disabled
XHC0 S3 *enabled pci:0000:00:10.0
OHC1 S3 *enabled pci:0000:00:12.0
EHC2 S3 *enabled pci:0000:00:13.2
OHC3 S3 *disabled
EHC3 S3 *disabled
SBAZ S4 *disabled pci:0000:00:14.2
LID S4 *enabled platform:PNP0C0D:0


试验机有2个 USB 3.0 接口,1个 USB2.0 接口,通过插拔设备实验并观察系统日志,确定 1个 USB 2.0 接口为 pci:0000:00:12.0 (OHC1),2个 USB 3.0 接口为 pci:0000:00:10.0 (XHC0)
因此改变 OHC1 和 XHC0 的状态即可。
代码:
echo "OHC1" | sudo tee /proc/acpi/wakeup
echo "XHC0" | sudo tee /proc/acpi/wakeup


若重新启动计算机后恢复原状,只能将相关命令加入开机自启,令其开机时自动设置
编辑 /etc/rc.local 在 exit 0 之前加入
代码:
echo "OHC1" > /proc/acpi/wakeup
echo "XHC0" > /proc/acpi/wakeup


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译