某些应用程序在关闭显示屏时会打开

某些应用程序在关闭显示屏时会打开

我的电视在 HDMI-0 上,主显示器在 DP-2 上。

当我关闭电视时,即使电视已关闭,某些应用程序(例如图像浏览器)仍会在电视上打开。

我需要一些像xrandr --output HDMI-0 --off当我关掉电视时自动运行的东西。

并且还恢复Joined Displays我打开电视时的设置。

对于设置,我的意思是将电视放在左边。

由于某种原因,Ubuntu 总是将电视视为主显示屏,并且位于右侧。

我希望电视位于左侧而不是作为主显示屏。

我试过https://github.com/phillipberndt/autorandr但它没有检测到电视已打开。它可能只是检查 HDMI 中是否有电缆?

这个答案或许能解答这个难题:

https://stackoverflow.com/questions/3433203/how-to-determine-if-lcd-monitor-is-turned-on-from-linux-command-line/3461971#3461971

还有类似的问题 https://unix.stackexchange.com/questions/302995/how-to-detect-if-hdmi-monitor-is-switched-off-in-ubuntu

我尝试使用它xset -q来获取显示器是否打开的信息,但它只显示我的主显示器。

xrandr显示电视已连接,但没有有关已关闭的信息。

我看到有https://wiki.ubuntu.com/X/MonitorDetection但我不知道该用什么。

更新:

sudo ddccontrol -p没有列出我的电视。

Ubuntu 命令行如何更改显示器上的输入源?

更新2:

hwinfo没有列出我的电视。

更新3:

所以我有这两个脚本:

把关掉:

#!/bin/bash
intern=DP-2
extern=HDMI-0

xrandr --output "$extern" --auto --left-of "$intern" --output "$intern" --auto --primary

打开:

#!/bin/bash
intern=DP-2
extern=HDMI-0

xrandr --output "$extern" --off

所以现在的问题是如何检测电视是否已关闭。

更新4:

现在我看到xrandr -q电视关闭时会出现不同的结果:

$ xrandr -q | grep "^HDMI-0"
HDMI-0 connected (normal left inverted right x axis y axis)
$ ~/bin/xrandr_auto_external_monitor.sh
$ xrandr -q | grep "^HDMI-0"
HDMI-0 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 1872mm x 1053mm

但是当电视手动关闭时我可能无法获取该事件?

当您手动切换显示器时,您无法通过 Windows 捕获它(如果没有不寻常的驱动程序接口),因为所有 Windows 功能都与“电源安全模式”相连。

https://stackoverflow.com/questions/203355/is-there-any-way-to-detect-the-monitor-state-in-windows-on-or-off/613300#613300

相关内容