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
xrandr xrandr 是用于与 X RandR 扩展进行交互的命令行工具。它允许对 X server 进行实时配置(即无需重新启动即可使配置生效),xrandr 提供了显示模式(如分辨率、刷新率等)的自动检测,以及动态配置输出&am…...
【高效开发工具系列】eclipse部署web项目
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
实在智能成功完成近2亿元C轮融资,全面迎接2024年Agent智能体应用元年
在这个最冷的季节,杭州实在智能科技有限公司(以下简称“实在智能”)依然表现火爆,近日,实在智能成功完成C轮融资近2亿元人民币,由金泰富资本和安吉智慧谷共同领投、安吉两山国创跟投。 在此轮融资以前&…...
vue创建项目
1、配置node环境 Node.js 安装配置-----菜鸟教程 npm 使用介绍-----菜鸟教程 淘宝镜像 淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。 可以使用淘宝定制的 cnpm (gzip …...
智能变电站集中监控辅助决策系统解决方案
项目背景 智能变电站是坚强智能电网的重要基础和支撑。它不仅是电网运行数据的采集源头和命令执行单元,而且与其他环节的联系非常紧密,为统一坚强智能电网的安全和优质提供了关键支撑。为了更有效地管理和控制变电站的各种设备和子系统,如视…...
PyQt5基础知识第三天
一:QtWidgets.QTableView() QtWidgets.QTableView() 是 PyQt5 库中的一个类,用于在应用程序中显示表格数据。这个类继承自 QtWidgets.QAbstractItemView,是 QAbstractItemView 的一个子类,用于显示表格中的数据。 QTableView 提供了一个灵活的方式来显示和编辑表格数据。…...
docker安装ES:7.8和Kibana:7.8
本文适用于centos7,快速入手练习es语法 前置:安装docker教程docker、docker-component安装-CSDN博客 1.安装es 9200为启动端口,9300为集群端口 docker pull elasticsearch:7.8.0mkdir -p /mydata/elasticsearch/pluginsmkdir -p /mydata/elasticsear…...
React 状态管理 - 优化你的应用程序
简介: React 是一种流行的 JavaScript 库,用于构建用户界面。随着应用程序的复杂性增加,状态管理变得至关重要。在本文中,我们将深入探讨 React 状态管理的重要性,并详细介绍如何使用 Redux 进行状态管理。 为什么需要…...
Python异常捕获和处理方式
目录 一、引言 二、异常捕获和处理的基本方式 1、try-except语句块 2、raise语句 3、assert语句 三、高级异常捕获和处理技术 1、多个except块 2、finally块 3、使用多个try-except块 4、使用with语句 5、使用多个except块捕获同一种异常 四、总结 一、引言 在Pyt…...
PDF文件如何设置限制打印?
想要限制PDF文件的打印功能,想要限制PDF文件打印清晰度,都可以通过设置限制编辑来达到目的。 打开PDF编辑器,找到设置限制编辑的界面,切换到加密状态,然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…...
互操作性(Interoperability)如何影响着机器学习的发展?
互操作性(Interoperability),也称为互用性,即两个系统之间有效沟通的能力,是机器学习未来发展中的关键因素。对于银行业、医疗和其他生活服务行业,我们期望那些用于信息交换的平台可以在我们需要时无缝沟通…...
从零实现一套低代码(保姆级教程) --- 【3】实现Button组件和画布区的拖拽
摘要 目前是每天更新一篇, 因为我不止要写文章,这些代码也是我正在敲的。可能速度没有那么快,但是这个频率感觉还是可以的。 本篇是这个系列的第三篇,如果你是第一次看到这个文章,那你应该会对低代码有那么一丢丢兴趣…...
仓储1、10、11代电子标签接口文档
标签注册 仓储1代注册 侧面按钮连按三次, 注册成功:红灯变绿灯 仓储10代注册 右下角左下角组合按键触发注册 注册成功:右上角绿灯变红灯 仓储11代注册 磁体靠近条码附近,触发标签注册到系统 注册成功:闪红灯边绿…...
iOS将framework转为xcframework
拆分framework 先把framework拷贝到两个文件夹下边,这里只需要armv7、arm64、x86_64。 mkdir iphoneos iphonesimulator cp -R mysdk.framework iphoneos cp -R mysdk.framework iphonesimulator 把iphoneos中的模拟器指令集删除,只保留armv7和arm64 …...
2018年第七届数学建模国际赛小美赛C题共享单车对城市交通的影响解题全过程文档及程序
2018年第七届数学建模国际赛小美赛 C题 共享单车对城市交通的影响 原题再现: 共享自行车改变了许多城市的交通状况,许多大城市引入共享自行车来解决交通问题。我们需要定量评估共享自行车对城市交通的影响,以及相关的经济、社会和环境影响。…...
【数据结构】线段树算法总结(单点修改)
知识概览 用作单点修改的线段树有4个操作: pushup:由子节点的信息计算父节点的信息build:初始化一棵树modify:修改一个区间query:查询一个区间 线段树用一维数组来存储: 编号是x的节点,它的父节…...
数据分析:小红书过节“仪式感”营销种草
导语 过年的氛围是越来越浓,走亲访友,过节送礼都准备起来!据千瓜数据显示,“轻松买到仪式感”热度攀升,作为站内扶持的新兴话题,11月上线以来浏览量超2.5亿,笔记数超过20万篇。 看来ÿ…...
Zookeeper-应用实战
Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。 ZooKeeper官方的Java客户端API。 第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户端API提供了基本的操作:创建会话、创建节点、读取节点、更新数据、…...
2017年第六届数学建模国际赛小美赛A题飓风与全球变暖解题全过程文档及程序
2017年第六届数学建模国际赛小美赛 A题 飓风与全球变暖 原题再现: 飓风(也包括在西北太平洋被称为“台风”的风暴以及在印度洋和西南太平洋被称为“严重热带气旋”)具有极大的破坏性,往往造成数百人甚至数千人死亡。 许多气…...
Node.js使用Express框架写服务端接口时,如何将接口拆分到不同文件中
项目目录结构说明: node.js连接mysql数据库步骤可参考:Node.js 连接 MySQL | 菜鸟教程 1、拆分之前的写法,未区分模块,所有接口api都写在了入口文件app.js中; 需求:想要将接口api拆分成根据不同的业务模块…...
天地图JavaScript API实战:多边形面积计算与交互式绘制
1. 天地图JavaScript API基础入门 第一次接触天地图JavaScript API的开发者可能会觉得有点懵,其实它和我们常用的百度地图、高德地图API类似,都是用来在网页上展示地图和实现地理信息功能的工具链。我刚开始用的时候也踩过不少坑,后来发现只要…...
5分钟搞定串口设备联网:用USR-K5模块搭建TCP通讯的保姆级教程
5分钟搞定串口设备联网:用USR-K5模块搭建TCP通讯的保姆级教程 当你需要将老旧的串口设备接入现代网络时,USR-K5模块就像一位精通双语的翻译官,能在RS-232和TCP/IP协议之间架起无缝桥梁。作为一款即插即用的串口转以太网模块,它特别…...
基于MATLAB的声纹识别系统:通过MFCC特征提取与DCT法4训练,实现声音信号的识别与验证
基于matlab实现声纹识别,通过提取声音信号的MFCC特征,然后形成特征向量,通过训练语音,对测试语音进行识别,训练方法为DCT 法4,可以识别训练库内的声音,也可以识别出训练库外的声音。 程序已调通…...
ArcGIS Pro2.5实战:用Unet模型识别棕榈树的完整流程(附样本处理技巧)
ArcGIS Pro 2.5实战:用Unet模型识别棕榈树的完整流程(附样本处理技巧) 在自然资源调查领域,精准识别特定植被类型一直是项耗时费力的工作。传统人工判读方式不仅效率低下,而且受主观因素影响较大。随着深度学习技术在遥…...
从零搭建一个AUTOSAR软件组件:手把手教你定义和使用AUTOSAR接口(含ARXML配置)
从零搭建AUTOSAR软件组件:实战ARXML接口配置与RTE集成 在汽车电子架构快速迭代的今天,AUTOSAR已成为嵌入式软件开发的事实标准。但许多工程师在理论学习后,面对实际工具链操作时仍会感到无从下手。本文将使用Vector DaVinci工具套件ÿ…...
利用Python自动化生成ANSYS APDL命令流的实战指南
1. 为什么需要Python自动化生成APDL命令流 第一次用ANSYS APDL建模时,我盯着满屏的命令行发呆——这简直像是在用汇编语言写小说。每次修改模型参数都要重新输入几十行命令,一个标点符号错误就会导致整个脚本崩溃。直到发现可以用Python生成APDL命令流&a…...
提示工程代码审查“质量 gates”:7条准则帮你守住底线
提示工程代码审查“质量 Gates”:7条准则帮你守住底线 一、引言:为什么你的代码审查总漏问题? 作为开发工程师,你一定遇到过这样的场景: 张三提交的代码,你审的时候只看了风格,没注意逻辑,结果上线后发现功能不符合需求; 李四的代码,你审的时候觉得“看起来没问题”…...
CogVideoX-2b快速上手:无需代码,网页点一点就能创作视频
CogVideoX-2b快速上手:无需代码,网页点一点就能创作视频 1. 像用手机APP一样简单的视频创作体验 想象一下这样的场景:你坐在电脑前,脑子里闪过一个有趣的画面——"一只戴着VR眼镜的柴犬在太空站里玩滑板"。传统方式下…...
DCT-Net快速上手:无需代码,网页上传照片立即体验卡通魔法
DCT-Net快速上手:无需代码,网页上传照片立即体验卡通魔法 1. 引言:零门槛的卡通化体验 想象一下,你刚拍了一张不错的自拍照,但总觉得少了点什么。如果它能变成卡通风格,会不会更有趣?或者&…...
利用Chrome插件实现ChatGPT对话一键导出为Typora友好Markdown
1. 为什么需要ChatGPT对话导出功能 每次在ChatGPT上获得有价值的对话后,最头疼的就是如何保存这些内容。直接复制粘贴到文档里?代码块会丢失高亮,数学公式变成乱码,对话结构也变得乱七八糟。特别是当我们用Typora这类优雅的Markdo…...
