检查我的显示器是否与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+0
与0+0
。当监视器镜像时,两个监视器的位置相同(均为0+0
)。
如果您以这种方式镜像监视器 1 ,请检查监视器是否镜像的好方法是比较xrandr --listmonitors
的OUPUT的位置。
我认为没有比这更干净的方法。据我所知,您实际上并没有镜像或克隆监视您的位置,您只能将其位置设置在屏幕上,以使它们重叠和渲染时,两个监视器都会显示同一图片,因为它们在同一位置。这就是为什么真正没有一种直接测试镜像屏幕的方法。
1 旁注:使用以下命令克隆监视器
xrandr --output HDMI-0 --same-as DisplayPort-0