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



检查我的显示器是否与Xrandr镜像?

是什么干净的方法?

背景
我使用的是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的OUPUT的位置。

我认为没有比这更干净的方法。据我所知,您实际上并没有镜像或克隆监视您的位置,您只能将其位置设置在屏幕上,以使它们重叠和渲染时,两个监视器都会显示同一图片,因为它们在同一位置。这就是为什么真正没有一种直接测试镜像屏幕的方法。


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

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

相关内容

  • 没有找到相关文章

最新更新