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. Kubernetes,kubectl常用命令详解

    kubectl概述 祭出一张图,转载至 kubernetes-handbook/kubectl命令概述 ,可以对命令族有个整体的概念. 环境准备 允许master节点部署pod,使用命令如下: kub ...

  2. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.1 引言

    9.1 引言 在所有的开关变换器中,输出电压\(v(t)\)都是输入电压\(v_{g}(t)\),占空比\(d(t)\),负载电流\(i_{load}(t)\)和电路元件值的函数.在DC-DC变换器应 ...

  3. 集合Set添加多个元素

    方一 Integer[] x=new Integer[]{4,6,9,10}; Set<Integer> set = new HashSet<>() ; Collections ...

  4. adb下载安装

    下载地址:https://www.androiddevtools.cn/# 首页tab工具栏: 选择Android SDK工具-- SDK Tools 下载任一版本即可 安装 :将下载的安装包解压到D ...

  5. 哈工大LTP基本使用-分词、词性标注、依存句法分析、命名实体识别、角色标注

    代码 import os from pprint import pprint from pyltp import Segmentor, Postagger, Parser, NamedEntityRe ...

  6. CSS 还能这样玩?奇思妙想渐变的艺术

    在之前的这篇文章 -- 一行 CSS 代码的魅力 中,我们介绍了一种使用一行 CSS 代码就能够生成的一种美妙(也许奇怪更合适)的背景. 本文,将继续介绍背景的一些有意思的知识,利用一些极小的单位,只 ...

  7. 如何使用natapp来实现内网穿透及案例

    1. 业务场景 当我们的项目是部署在本地的时候,如何让其他用户(不在同一个局域网之下)来进行调用呢?这时我们就可以使用内网穿透将自己的IP通过映射成相应的地址,然后再通过映射后的地址来进行访问本地的项 ...

  8. k8s daemonset

    DaemonSet控制器会在每个节点上运行单一的副本,他非常适合部署那些节点本身提供服务或者执行维护的 Pod 例如 : 存储相关,每个节点上运行glusterd, ceph 日志收集相关,每个节点上 ...

  9. UVA11248 网络扩容(枚举割边扩充)

    题意:      给你一个有向图,问你从1到n的最大流是多少?如果流量大于等于C那么直接输出一个串,否则输出只扩充一条边的流量就可以达到1->n大于等于C的所有边,如果扩充不了就输出另一个串.S ...

  10. linux ptrace学习

    ptrace提供了一种使父进程得以监视和控制其它进程的方式,它还能够改变子进程中的寄存器和内核映像,因而可以实现断点调试和系统调用的跟踪.学习linux的ptrace是为学习android adbi框 ...