如何列出活动显示器(在命令行上)?

inn*_*and 5 xrandr display scripts

xrandr -q为我提供了已连接显示器的列表,但如何找出(脚本友好)显示器当前是否处于活动状态?

上下文:我想编写一个脚本来切换显示。如果它处于活动状态,则应将其关闭,否则应将其打开。

注意:xrandr -q基本上提供了此信息,因为活动模式标有*,但此信息很难在 bash 脚本中提取。

s.m*_*s.m 0

使用以下命令连接所有显示器

 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)

第一次执行此脚本将在不知道显示器打开或关闭的情况下打开显示器,从第二次执行此脚本将在显示器打开时关闭,如果显示器关闭则打开。


小智 0

在分辨率列表中使用xrandr时,活动显示分辨率后面应该有一个星号,如果不存在,则显示未处于活动状态。