xrandr

2023-12-21 07:36
文章标签 xrandr

本文主要是介绍xrandr,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

xrandr

xrandr 是用于与 X RandR 扩展进行交互的命令行工具。它允许对 X server 进行实时配置(即无需重新启动即可使配置生效),xrandr 提供了显示模式(如分辨率、刷新率等)的自动检测,以及动态配置输出(如调整大小、旋转、移动屏幕等)的功能。

作者:炭烤毛蛋 ,点击博主了解更多。


提示:xrandr 需要系统有正常显示才可查看。

文章目录

  • xrandr
  • 前期准备
  • 1. xrandr 测试
    • 1.1 分辨率调整
    • 1.2 指定屏分辨率设定
    • 1.3 xrandr 命令详情
  • 2 显示设置
    • 2.1 交换内外屏
    • 2.2 规避显示 crash问题
  • 3. 添加为检测到分辨率
    • 3.1 xrandr 模式设定
  • 结语


前期准备

ubuntu 安装 xrandr 命令,xrandr 安装依赖 x11-xserver-utils。

sudo apt install x11-xserver-utils

1. xrandr 测试

1.1 分辨率调整

  • 查看分辨率
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm1920x1080     60.00*+  74.97    50.00    59.941680x1050     59.881280x1024     75.02    60.021440x900      59.901280x960      60.001280x720      60.00    50.00    59.941024x768      75.03    70.07    60.00832x624       74.55800x600       72.19    75.00    60.32    56.25720x576       50.00720x480       60.00    59.94640x480       75.00    72.81    66.67    60.00    59.94720x400       70.08
HDMI-2 disconnected (normal left inverted right x axis y axis)
  • 设置具体分辨率
xrandr -s 1024x768
  • 恢复到原来的分辨率
xrandr -s 0
  • 旋转屏幕
xrandr -o left     # 向左旋转90度
xrandr -o right    # 向右旋转90度
xrandr -o inverted # 上下翻转
xrandr -o normal   # 回到正常角度

1.2 指定屏分辨率设定

  • 设置分辨率(HDMI-1)
xrandr --output HDMI-1 --mode 1920x1080
  • 设置分辨率和刷新率(HDMI-1)
xrandr --output HDMI-1 --mode 1920x1080 --rate 60
  • 改为自动模式
xrandr --output HDMI-1 --auto
  • 关闭显示1,开启显示2
xrandr --output HDMI-1 --off --output HDMI-2 --auto

1.3 xrandr 命令详情

# xrandr --help
usage: xrandr [options]where options are:--display <display> or -d <display>--help-o <normal,inverted,left,right,0,1,2,3>or --orientation <normal,inverted,left,right,0,1,2,3>-q        or --query-s <size>/<width>x<height> or --size <size>/<width>x<height>-r <rate> or --rate <rate> or --refresh <rate>-v        or --version-x        (reflect in x)-y        (reflect in y)--screen <screen>--verbose--current--dryrun--nograb--prop or --properties--fb <width>x<height>--fbmm <width>x<height>--dpi <dpi>/<output>--output <output>--auto--mode <mode>--preferred--pos <x>x<y>--rate <rate> or --refresh <rate>--reflect normal,x,y,xy--rotate normal,inverted,left,right--left-of <output>--right-of <output>--above <output>--below <output>--same-as <output>--set <property> <value>--scale <x>x<y>--scale-from <w>x<h>--transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>--off--crtc <crtc>--panning <w>x<h>[+<x>+<y>[/<track:w>x<h>+<x>+<y>[/<border:l>/<t>/<r>/<b>]]]--gamma <r>:<g>:<b>--brightness <value>--primary--noprimary--newmode <name> <clock MHz><hdisp> <hsync-start> <hsync-end> <htotal><vdisp> <vsync-start> <vsync-end> <vtotal>[flags...]Valid flags: +HSync -HSync +VSync -VSync+CSync -CSync CSync Interlace DoubleScan--rmmode <name>--addmode <output> <name>--delmode <output> <name>--listproviders--setprovideroutputsource <prov-xid> <source-xid>--setprovideroffloadsink <prov-xid> <sink-xid>--listmonitors--listactivemonitors--setmonitor <name> {auto|<w>/<mmw>x<h>/<mmh>+<x>+<y>} {none|<output>,<output>,...}--delmonitor <name>

2 显示设置

2.1 交换内外屏

#!/bin/sh
intern=LVDS1
extern=VGA1if xrandr | grep "$extern disconnected"; thenxrandr --output "$extern" --off --output "$intern" --auto
elsexrandr --output "$intern" --off --output "$extern" --auto# 接入外平时更换默认配置可以采用如下参数# xrandr --output "$intern" --primary --auto --output "$extern" --right-of "$intern" --auto
fi

2.2 规避显示 crash问题

  • 前置重新连接
    休眠唤醒时部分设备掉线,唤醒后可能发生crash问题。可以通过多次查询显示信息规避crash问题。
declare -i count=2
declare -i seconds=1while ((count)); doxrandr >/dev/nullsleep $seconds((count--))
done

当然也可以强制关闭开机某些屏幕

xrasengan --force -on DisplayPort-0 -off HDMI-0

  • 重新加载配置
xrasengan --try-reload-active-layout

3. 添加为检测到分辨率

3.1 xrandr 模式设定

显示器有效的分辨率 xrandr 可能未能全部检测 ,可以通过 xrandr 里为显示器添加所需的分辨率。

  • 添加未支持的分辨率
xrandr --newmode '1280x720_60' 60.00 1280  1304 1340 1500 720 723 729 758 -hsync -vsync
  • 该分辨率添加到当前的输出设备(将其命名为 DisplayPort-1)
xrandr --addmode DisplayPort-1 1280x720_60
  • DisplayPort-1 的分辨率设定为刚刚添加模式
xrandr --output  DisplayPort-1 --mode 1280x720_60
  • 删除 DisplayPort-1 xrandr 模式
xrandr --rmmode 1280x720_60

归档单一表达式

xrandr --newmode '1280x720_60' 60.00 1280  1304 1340 1500 720 723 729 758 -hsync -vsync && sleep 5 && xrandr --addmode DisplayPort-1 1280x720_60 && xrandr --output  DisplayPort-1 --mode 1280x720_60

结语

不枉博主详细讲解,欢迎订阅博主–炭烤毛蛋 。

这篇关于xrandr的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/519121

相关文章

xrandr 笔记

发现还是xrandr好用,不管是ubuntu 10.10还是fedora 16的监视器设置的图形工具,总是无法得到想要的效果,做一下xrandr命令的笔记。 1. 查看当前连接的显示器的名称 xrandr [-q] 笔记本自身的屏幕一般为:LVDS1 VGA外接的:VGA1 2.  复制一个桌面到另外的显示器 xrandr --output LVDS1 --same-as VGA1

xrandr 只有一个显示屏_解读户外LED显示屏脱胎换骨之秘

近期,重庆观音桥步行街的裸眼3D大屏“亚洲之光”播放的一段模拟太空飞船飞行的震憾视频走红网络,迅速成为网红必经打卡景点。该视频以逼真的3D效果立体全景显示了太空飞船飞行动态,其震撼的视觉效果,犹如观看了一场露天影视大片。 重庆观音桥步行街的裸眼3D大屏“亚洲之光” 据悉,重庆观音桥步行街的裸眼3D大屏“亚洲之光”是由行业内知名企业利亚德打造的。该项目兼顾“建筑美学与商圈环境”融为一体的设计