当显示器开启/关闭时可以执行脚本吗?

当显示器开启/关闭时可以执行脚本吗?

我想在打开/关闭 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 瓦,请发送命令来终止/结束相关软件。

相关内容