XSF /如何使用xrandr

西里尔·布鲁莱布瓦
<kibi@debian.org>

目录

入门

什么是xrandr?

xrandr是与XRandR 扩展名交互的命令行工具[请参阅x.org, Wikipedia ],它允许对X服务器进行实时(重新)配置(即,无需重新启动):它提供模式(分辨率,刷新)的自动发现。速率等)以及动态配置输出(调整大小,旋转,移动等)的功能。

FIXME:各个驱动程序的状态?

对xorg.conf有什么后果?

从开始squeezexorg.conf完全删除配置文件应该可以很好地工作,但是如果无法解决问题,让我们记录一下可以从文件中删除的内容RandR

通过驱动程序自动检测模式,大多数情况下,配置文件(xorg.conf)中的几个配置选项变得无用。您可能要删除:

  • HorizSyncVertRefresh从该Monitor部分。

  • 本节Display小节中的模式Screen

  • ModeLine从本Monitor节开始。

也无需保留静态双头配置。一些建议,以获取一个小的xorg.conf

  • 降双重DeviceScreen/Monitor部分,需要单独的一个。

  • 从其余部分中 删除MonitorLayout选项和Screen行 Device

  • 放下ServerLayout部分。

  • 放下RightOf/LeftOf指示该节中剩余的ScreenServerLayout

 

基本的xrandr用法

一旦xorg.conf删除或更新了配置文件(),默认情况下启动服务器应启用一些输出。它们的左上角将在图像的同一部分,但是它们的模式可能会有所不同。

可以通过配置所有输出xrandr。要查看可用的输出,只需运行xrandr

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 inverted X and Y axis (normal left inverted right x axis y axis) 261mm x 163mm
1280x800 59.8*+
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
DVI1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)

评论:

  • 我们看到4个输出:VGA1LVDS1DVI1TV1

  • 仅连接了内部面板(LVDS1),它支持60 Hz的4种模式,56 Hz的1种模式。

  • 标有星号(*)的模式是当前模式。

  • 标有加号(+)的是首选。大多数监视器向驱动程序报告首选模式。服务器/驱动程序通常默认情况下会选择它。

FIXME:提及输出名称约定?

处理VGA1输出属性时,应使用:

$ xrandr --output VGA1 <options>

动态添加/删除头

过去,在插入新显示器时不得不重新启动X的日子已经一去不复返了。使用RandR1.2,您可以随时插入/拔出监视器。运行以下行将查询所有输出,并以其默认模式启用它们:

$ xrandr --auto

您还可以使用以下命令禁用一个输出:

$ xrandr --output LVDS1 --off

对于某些不能很好地支持多个输出的错误应用程序,这可能很有用。另外,由于CRTC的限制(请参阅下面的“注意事项”部分),通常需要先禁用一个输出,然后再启用另一个输出,因为大多数硬件同时仅支持2个。

改变模式

使用上面的xrandr输出,您可以将LVDS1模式更改为 1024x768使用:

$ xrandr --output LVDS1 --mode 1024x768

刷新率也可以同时或独立更改:

$ xrandr --output LVDS1 --mode 1024x768 --rate 75
$ xrandr --output LVDS1 --rate 75

要返回默认模式:

$ xrandr --output LVDS1 --auto
 

将输出放置在虚拟屏幕中

非KMS设置的一些配置:

让我们看一下最大虚拟屏幕尺寸,4096x4096在此示例中可以看到 :

$ xrandr|head -1
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096

使用KMS(FIXME:链接到解释什么是KMS的页面)时,无需指定任何Virtual选项。如果使用DRI而没有KMS,则可能需要这样做。实际上,驱动程序通常会创建一个小尺寸的默认虚拟屏幕,例如1600x1200,以减少内存消耗。

如果计划使用显示不同区域的多个输出,则应在该部分的小节中xorg.conf添加Virtual一行以进行 配置。DisplayScreen

Section "Screen"

SubSection "Display"
Depth 24
Virtual 3000 2000
EndSubSection
EndSection

放置输出

使用以下选项放置输出: --right-of--left-of--above--below。例如,要将VGA1输出放置在内部面板(LVDS1)的右侧,请执行以下操作:

$ xrandr --output VGA1 --right-of LVDS1

请注意,硬件和内存限制可能会严重限制虚拟屏幕的大小,请参阅下面的“警告”部分。

 

添加新模式

在某些情况下,某些模式可能会丢失。例如,如果监视器未报告正确的EDID信息。或者,如果输出在启动时没有提供CRTC,因为另一个输出正在使用它,并且您同时禁用了它。

如果存在一种模式,则可以使用以下命令将其添加到一个输出中:

$ xrandr --addmode VGA1 800x600

如果该模式不存在,则可以首先通过传递模型来创建它:

$ xrandr --newmode <ModeLine>

您可以使用gtfcvt工具(xserver-xorg-core包装中随附)创建Modeline 。

XSF /如何使用xrandr的更多相关文章

  1. 使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本

    /*********************************************************************  * Author  : Samson  * Date   ...

  2. ubuntu 14.04 分辨率调整 -- xrandr命令

    问题描述: 自己在安装ubuntu-kylin 14.04 TLS系统成功后,在调整分辨率的时候(系统设置--显示)发现分辨率的选项只有1024x768以及800x600两个选项,而台式机的外接显示屏 ...

  3. 利用 xrandr 命令修改屏幕分辨率

    问题背景 电脑外接着一个 23' 的显示器,分辨率为 1920*1080. 操作系统:ubuntu 14.04 今天,通过 Setting->Displays 中选择外接屏的分辨率时,发现最大只 ...

  4. xrandr: 命令行修改分辨率工具

    常用功能举例 查看支持的分辨率 xrandr -q 将分辨率设为1024×768 xrandr -s 1024×768 恢复到默认分辨率 xrandr -s 0

  5. [X][xrandr][archlinux] 手动调整显示器分辨率

    有一些时候,电脑并不能正确的识别出显示器的最大分辨率,这有可能是软件的原因,硬件的原因,显示器的原因,VGA线的原因等其他原因. 我遇到的情况,是开机时候连着VGA的话,就可以正确识别.如果使用中间进 ...

  6. Linux下使用 xrandr 命令设置屏幕分辨率

    最近在Linux下修改屏幕分辨率的时候,发现了一个非常有用的命令:xrandr 使用这个命令,可以方便的设置您显示器的的分辨率.尤其是当你使用了一些需要或者会自动改动您屏幕分辨率的程序以后. 您可以使 ...

  7. xrandr

    ubuntu 外接显示器 xrandr常用命令(这里的VGA与LVDS分别换成第1步中的设备名,如VGA1.LVDS1): xrandr --output VGA --same-as LVDS --a ...

  8. Ubuntu: Linux下查看本机显示器分辨率(xrandr)

    版权声明:转载请注明出处 https://blog.csdn.net/JNingWei/article/details/75044598   Linux下查看本机显示器分辨率: $ xrandr Sc ...

  9. Linux --xrandr command

    Source: https://www.x.org/archive/current/doc/man/man1/xrandr.1.xhtml https://blog.csdn.net/syh_486_ ...

随机推荐

  1. AttributeError: 'str' object has no attribute 'lowerr' Python常见错误

    方法名拼写错误 检查方法名拼写,如有错误改正即可 特别注意m和n

  2. Mysql多表合并以及连接问题

    目的 1.为了备战过两天的面试,我又重新给孙老师的课件看了一遍,学累了,就写写自己的新的体会,和遇到的问题,来进行一个记录,这是知识产出的过程,据说可以帮助我学习,看视频什么的都是被动学习,不进行及时 ...

  3. [Fundamental of Power Electronics]-PART I-6.变换器电路-6.2 变换器简单罗列

    6.2 变换器简单罗列 变换器的数量可能有无穷种,因此将其全部列出是不可能的.这里给出了一个简单的罗列清单. 首先考虑含单个电感的单输入单输出变换器的类别.可以在电源和负载之间进行连接电感的方法数量是 ...

  4. Cobalt Strike使用教程一

    Cobalt Strike使用教程一     0x00 简介 Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器.自3.0以后已经不在使用Metasploit框架而作为 ...

  5. 结合k8s和pipeline的流水线,并通过k8s接口完成镜像升级

    现在这家单位的CICD比较的混乱,然后突发奇想,想改造下,于是就用pipeline做了一个简单的流水线,下面是关于它的一些介绍 写一个简单的流水线 大概就是这么个流程简单来说就是:拉代码---> ...

  6. shell 使用 cat 配合 EOF 创建文件并写入多行内容

    之前折腾 GtiHub Actions 想实现提交 issue 后将 issue 的内容生成一个 Markdown 文件提交到仓库,从而实现自动发布到 GitHub Pages 的目的.倒是有一些现成 ...

  7. Git分支及其协同开发

    目录 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLub安装搭建 ...

  8. JDBC_01_JDBC基础概念

    JDBC 基础概念 JDBC 的本质 JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Ja ...

  9. 小程序picker地区级联选择的问题及解决方案

    各种系统中行政区域选择的场景不少,我们也有不少这样的场景.本想使用第三方的组件,但是大多有些小问题,不能满足需要.后面使用picker的mulitSelector模式写了一个,发现这种列模式的体验并好 ...

  10. ubuntu 缺少动态依赖库

    起因 困扰我好久的一个报错,终于解决了 之前我一直以为是 python代码的问题,以为是模块相互调引起的报错,忽略了最后一行这个错误 OSError: libGCBase_gcc421_v3_0.so ...