我正在运行一些 UI 自动测试,其中移动指针来执行/模拟用户操作,该测试在显示器关闭一段时间后执行。
我想在运行这些测试时关闭屏幕,但如果用户与键盘或鼠标(或仅键盘)交互,则停止测试
我知道如何关闭鼠标和键盘, 和如何打开和关闭显示器,但这不是我在这里需要的。我想防止在此类测试期间唤醒屏幕。
我使用的是 Ubuntu 18.04,但如果我能得到一个更通用的解决方案,那就太好了。
注:我发现维贝工具可以在不通过鼠标或键盘输入唤醒的情况下关闭显示器,但它不起作用(显示器未关闭)。
更新:到目前为止,我最好的办法是使用xrandr --output HDMI-0 --off
(例如),因为它完全禁用了屏幕。
答案1
这是我每天使用的,它通过通常的 X11 驱动程序而不是 VGA BIOS,不需要 root 访问:
xrandr --output LVDS1 --off
- 如果您的显示器不是内置液晶屏,请用不
LVDS1
带参数的普通命令看到的相关端口替换xrandr
。它通常类似于VGA1
,HDMI1
, 或DP1
。
从某种意义上说,这并不“待机”屏幕DPMS 式节能然而;它实际上禁用指定的视频输出,并将其与显示服务器分离。
这种无头状态的副作用是你的“桌面”会缩小到很小的尺寸;约 320x200 像素;你可以按PrintScreen键看看它是什么样子。这可能不适用于您的可用性测试,所以......
防止收缩;添加--fb
选项以在视频输出关闭后设置虚拟“桌面”大小:
xrandr --output LVDS1 --off --fb 1024x768
- 替换
LVDS1
为相关输出端口和1024x768
您当前的分辨率。
一旦禁用视频输出并设置虚拟“桌面”大小,您就可以开始测试。
当您想回来时,重新启用您的输出:
xrandr --output LVDS1 --auto
- 替换
LVDS1
为相应的输出端口。 - 这会将输出设置为默认显示器本机分辨率。如果您想将其恢复到特定分辨率,请替换
--auto
为类似的内容--mode 1024x768
(替换1024x768
为您想要的分辨率)。
PS 我的答案是在 Debian 7.0 32 位 GNU/Linux 系统、Xorg 1.12.4 显示服务器、Intel i915 显卡上测试的。