xrandr:如何检查是否镜像屏幕

xrandr: How to check if mirroring screens

用 xrandr 检查我的显示器是否被镜像的简洁方法是什么?

背景
我正在使用 polybar,截至目前,我有一个脚本可以在连接第二台显示器时启动额外的 polybar。问题是,当我镜像时,我不想启动第二个栏。如果有人好奇,这是我的代码:

#!/bin/bash

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# Launch bar 
polybar main_bar -r & 

my_laptop_external_monitor=$(xrandr --query | grep 'HDMI-1')
if [[ $my_laptop_external_monitor = *connected* ]]; then
    polybar external_bar &
fi

我 运行 xrandr --listmonitors 在我的系统上,有和没有克隆监视器:

未克隆:

Monitors: 2
 0: +*DisplayPort-0 1920/598x1080/336+1920+0  DisplayPort-0
 1: +HDMI-0 1920/598x1080/336+0+0  HDMI-0

克隆

Monitors: 2
 0: +*DisplayPort-0 1920/598x1080/336+0+0  DisplayPort-0
 1: +HDMI-0 1920/598x1080/336+0+0  HDMI-0

唯一的区别是输出在屏幕中的位置,1920+00+0。镜像监视器时,两个监视器的位置相同(均为0+0)。

如果您以这种方式镜像您的显示器 1,检查显示器是否被镜像的一个好方法是比较它们在 xrandr --listmonitors 的输出中的位置。

我认为没有比这更简洁的方法了。据我所知,您实际上并没有镜像或克隆显示器,您只是将它们的位置设置在屏幕内部,使它们重叠,并且在渲染时,两个显示器显示相同的图片,因为它们位于同一位置。这就是为什么没有真正直接的方法来测试镜像屏幕的原因。


1旁注:监视器是使用以下命令克隆的

xrandr --output HDMI-0 --same-as DisplayPort-0