inn*_*and 5 xrandr display scripts
xrandr -q为我提供了已连接显示器的列表,但如何找出(脚本友好)显示器当前是否处于活动状态?
上下文:我想编写一个脚本来切换显示。如果它处于活动状态,则应将其关闭,否则应将其打开。
注意:xrandr -q基本上提供了此信息,因为活动模式标有*,但此信息很难在 bash 脚本中提取。
使用以下命令连接所有显示器
xrandr -q
Run Code Online (Sandbox Code Playgroud)
然后您可以创建所有连接的显示器的变量,例如
Display1=VGA1
Run Code Online (Sandbox Code Playgroud)
等等
然后使用脚本
#!/bin/bash
if (xrandr | grep "$DISPLAY1 connected"); then
if (ls | grep status_flag); then
xrandr --output $DISPLAY1 --off
rm status_flag
else
xrandr --output $DISPLAY1 --auto
touch status_flag
fi
fi
Run Code Online (Sandbox Code Playgroud)
第一次执行此脚本将在不知道显示器打开或关闭的情况下打开显示器,从第二次执行此脚本将在显示器打开时关闭,如果显示器关闭则打开。