我想在打开/关闭 HDMI 显示器时启动/停止一些应用程序。
我的电脑一直开着,但当没人看的时候,一些图形应用程序就不需要了。这会消耗更多电量,并使风扇噪音更大(我的床在同一个房间,所以这真的很烦人)。
这台电脑是带 Kodi 的 HTPC,上面没有真正的键盘,只有遥控器,所以启动或关闭应用程序并不容易。如果可能的话,我想尝试自动完成。
我想知道是否可以使用 inotify 之类的东西?但我不知道监视器是否列在 /dev 中以及它可能是什么文件。
以前有人做过类似的事情吗?
答案1
在 Linux 中,脚本可以第一的关闭显示器, 和然后运行您的特定应用程序。大多数显示器在没有信号时都会进入省电模式,因此这应该可以实现您的目标。
在 Ubuntu 中,命令是:
xset -display :0.0 dpms force off
或者
sudo vbetool dpms off
要通过终端打开它,
`
尝试这些命令...
把关掉:
xset -display:0.0 dpms 强制关闭
打开:
xset -display :0.0 dpms force on
答案2
唯一的问题是您必须通过 cron 等运行此程序约 1 分钟,因为它不会生成我所知道的 Linux 事件。因此,在检测到更改之前,您将有最多 60 秒的延迟。
您有多个选项 hdmi cec。
https://raspberrypi.stackexchange.com/a/109288/61312
如果您的设备不直接通过视频卡支持 HDMI CEC,您可以购买 USB 加密狗。
https://www.pulse-eight.com/p/104/usb-hdmi-cec-adapter
注意:我没有亲自测试过该设备,但它在 747 位用户中平均得分为 5*,所以他们一定做对了什么。
总结上面的链接:
echo '扫描' | cec-client -s -d 1
从此信息中获取设备的地址。现在询问设备的状态。
回显‘pow 0.0.0.0’| cec-client -s -d 1 |grep power
答案是这样的:
power status: on or power status: standby
还有其他选择。
如果您有 wifi 或者有 usb wifi 加密狗,请使用:
你可以买一个kasa outlet strip hs300
然后你就可以安装python了
然后 https://github.com/p-doyle/Python-KasaSmartPowerStrip
然后写一些代码
from KasaSmartPowerStrip import SmartPowerStrip
#Replace 1.1.1.1 with kasa's wifi ip
power_strip = SmartPowerStrip('1.1.1.1')
print(power_strip.get_realtime_energy_info(plug_num=1))
现在只需添加几行代码即可比较显示器开启和关闭状态下的功耗。大多数显示器关闭时功耗小于 10 瓦,开启时功耗大于 20 瓦。
因此,如果您的显示器功率 > 20 瓦,请发送命令来终止/结束相关软件。