我需要在以下情况下运行自定义命令:
- 计算机空闲 X 分钟(未按下任何键)
- 按键
我实际上想要实现的是我的键盘的省电功能。
我想使用:
g413-led -a 000000
g413-led -a FFFFFF
使用https://github.com/MatMoul/g810-led打开/关闭键盘背光。
第一个相当容易使用以下之一:
- 西德勒
- xprintidle
- 自动锁定
如果有更好,更优化的方法,请指教?
但是如何在按键或从空闲状态恢复时再次点亮它?我猜在每个按键上运行命令都过大了。是否有节电选项的事件?显示器节能是如何工作的?
我可以重复使用相同的事件/超时吗?
我想出的解决方案是 DBUS 事件。
我首先运行
dbus-monitor
以查看当监视器从睡眠中进入/唤醒时会触发哪些事件:我第一次尝试 for
org.gnome.Mutter.IdleMonitor
,但uint32
值不断增加,不知道为什么?我选择了 StatusChanged,这是最终的脚本:
屏幕保护程序事件也可以工作:
当然,你可以输入任何你想要的命令。与此相比,第一个脚本的优点是它在用户登录之前点亮键盘,这使得输入密码更容易。
唯一的缺点是键盘在用户登录后亮起,而不是在按键时亮起,但我可以忍受。
我正在尝试:
但由于某种原因它不起作用,可能是grep问题。
微小的后台进程
对于一个简单的问题,您的设置似乎相当复杂。我要做的只是简单地运行一个小后台进程,每 2 秒左右检查一次空闲时间,如果空闲时间超过限制,则采取一项行动,如果切换到低于设定的空闲时间,则采取另一项行动。
剧本:
使用
确保
xprintidle
已安装将脚本复制到一个空文件中,另存为
switch_light.py
设置所需的空闲时间以在以下时间采取行动:
通过以下命令运行它:
如果一切正常,请将其添加到启动应用程序。
笔记)
由于我没有您的键盘,因此无法对其进行测试,但是使用其他命令进行了测试,它可以很好地完成工作。
您可以将脚本与任何其他命令一起使用:
只要确保像示例中那样分开参数即可。
如果您只想对超过空闲时间(或相反)采取行动,只需注释掉: