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. 热更新应用--热补丁Hotfix学习笔记

    一.热补丁简介 热补丁主要是用于将纯C#工程在不重做的情况下通过打补丁的形式改造成具备lua热更新功能工程,主要是让原来脚本中Start函数和Update函数等函数代码块重定向到lua代码. 二.第一 ...

  2. vue篇之路由详解

    一.vue路由传参的几种方式 1.声明式 router-link 父组件:<router-link :to="`/path/${id}`"><router-lin ...

  3. 北航OO第二单元作业总结(2.1~2.3)

    在经过第一单元初步认识面向对象编程思想后,本蒟蒻开始了第二单元--多线程部分的学习.本单元的作业是构造符合条件的"目的选层电梯"模型,自行设计调度算法,进行合理调度,完成所有乘客的 ...

  4. 3. Mybatis Insert

    案例: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC &qu ...

  5. Unity基础—Computer Shader

    Computer Shader是什么? Computer shader是一段运行在GPU上的一段程序. 什么时候用Computer shader? 假如我们把一个cube当作单独的点,用许多个(cub ...

  6. 2021S软件工程——个人阅读作业1

    2021S软件工程--个人阅读作业1 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 2021年软工-热身阅读作业 我在这个课程的目标是 了解并熟悉软件开发 ...

  7. Algorithm(4th) 1.5 union-find算法

    问题描述 问题输入是一对整数对,每个整数都代表一个对象,一对整数"p,q"表示 "p与q相连"(具有自反性,传递性,对称性,被归到一个等价类里),要求编写程序来 ...

  8. 1040 Longest Symmetric String

    Given a string, you are supposed to output the length of the longest symmetric sub-string. For examp ...

  9. table边框完全去掉的方法

    表格中边框的显示 只显示上边框 <table frame=above> 只显示下边框 <table frame=below> 只显示左.右边框 <table frame= ...

  10. 关于Oracle 数据库使用dba_tables或者all_tables或者user_tables统计数据时,与直接查询表统计时数据不一致的记录

    1. 今天写代码发现这个问题,这里记录一下, 不一致的原因是因为  dba_tables .all_tables.user_tables 不是实时的反应表的数据的,所以需要在查询统计之前对表进行手动分 ...