当我合上笔记本电脑的盖子时,我使用脚本/etc/acpi
关闭屏幕 ( )。xset dpms force
off
现在我希望它在连接外接显示器时表现不同(改为将亮度设置为零)。我知道我可以测试它是否与 连接xrandr
,但是脚本是由 root 运行的,并且 xrandr 依赖于某个 X-session。无论 X 会话如何,root 是否有办法测试监视器是否已连接?我正在使用 Arch Linux。
当我合上笔记本电脑的盖子时,我使用脚本/etc/acpi
关闭屏幕 ( )。xset dpms force
off
现在我希望它在连接外接显示器时表现不同(改为将亮度设置为零)。我知道我可以测试它是否与 连接xrandr
,但是脚本是由 root 运行的,并且 xrandr 依赖于某个 X-session。无论 X 会话如何,root 是否有办法测试监视器是否已连接?我正在使用 Arch Linux。
方法 #1 - edid-decode
您可以使用
edid-decode
查看连接了哪些监视器。这是来自我拥有的 Ubuntu 16.04 系统,但它也适用于 Fedora 28 和 CentOS 7.x。注意:这个特定的系统有两个视频端口,我使用的是 VGA 一个。
此处插入了监视器:
这是当我拔下 VGA 显示器时:
在这里它被重新插入:
方法 #2 - cat sysfs
/sys
如果您在此处列出的显示端口下四处寻找/sys/class/drm
。显示器的显示端口将是
card0-DP-1
(VGA) 和card0-HDMI-A-1
(HDMI)。如果您查看这些目录中的每一个,都有一个名为status
. 如果您使用cat
此文件,您可以看到端口的状态以及监视器是否已连接。与上面相同的测试,插入:
不插电:
参考