多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

xrandr 命令详解:Linux 下用 RandR 扩展管理多显示器分辨率与布局

xrandr 命令详解:Linux 下用 RandR 扩展管理多显示器分辨率与布局 文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载xrandr 是 Linux 桌面环境下管理屏幕分辨率、刷新率与多显示器布局的核心命令行工具它基于 X Window 系统的 RandRRotate and Resize旋转与缩放扩展实现运行时动态调整屏幕。本篇指南以本项目 command/xrandr.md 文档为骨架完整讲解其语法、选项与真实输出解读并覆盖克隆屏幕、扩展分屏、指定分辨率刷新率等高频实战场景读完即可用一条命令解决显示器配置问题。RandR 扩展与 xrandr 的关系RandRRotate and Resize旋转与缩放是一个 X Window 系统扩展它允许客户端动态调整屏幕缩放改变分辨率、旋转、翻转而无需重启 X Server。xrandr 正是官方针对该扩展提供的命令行配置工具所有通过 xrandr 完成的调整最终都会转化为对 RandR 扩展的请求由 X Server 与显卡驱动协同完成实际显示输出切换。在绝大多数发行版Debian/Ubuntu、Fedora、Arch 等中xrandr 随x11-xserver-utils等基础软件包默认安装可通过xrandr --version确认版本。注意该工具面向 X11 会话$DISPLAY环境变量Wayland 会话下需使用 wlr-randr、kanshi 等替代方案这是使用前需要明确的适用前提。语法结构xrandr(选项)(参数)选项option以--开头的操作指令用于指定对哪个输出设备执行何种操作参数显示设备编号输出名称例如VGA-1、HDMI-1、DP-1等由 X Server 根据实际连接的物理接口生成。不携带任何选项直接执行xrandr则进入查询模式列出所有输出设备、连接状态、当前与可用的分辨率模式这是每次配置前的第一步。选项详解原文档给出了核心选项下表在完整继承的基础上补充了取值范围与行为说明选项作用说明--auto以系统最大/最佳分辨率输出对指定输出启用其首选模式preferred mode即硬件推荐的分辨率与刷新率--off将指定输出设备设置为关闭关闭后该显示器黑屏且不再参与桌面布局常用于多屏时停用不需要的屏幕--output指定操作的目标输出设备后面必须跟设备名称如--output HDMI-1--mode设置分辨率值为查询结果中列出的模式名如--mode 1920x1080--rate设置刷新率值为该分辨率下支持的刷新率如--rate 60须与--mode配合使用--right-of放置在主显示器右侧后跟另一输出名称如--right-of VGA1--left-of放置在主显示器左侧与--right-of方向相反--above放置在主显示器上方竖直方向布局--below放置在主显示器下方竖直方向布局常用补充选项在标准 xrandr 手册中以下选项与上述核心选项同属日常高频用法配合使用可完成更完整的桌面布局管理--rotate normal|left|right|inverted旋转屏幕正常 / 左旋 90° / 右旋 90° / 倒置 180°适配竖屏显示器--reflect normal|x|y|xy镜像翻转画面可用于投影拼接场景--primary将指定输出设为主显示器桌面图标与任务栏所在屏幕--same-as与另一输出克隆镜像显示--pos x,y直接指定输出在虚拟桌面中的坐标位置--scale x,y缩放输出画面例如--scale 1.5x1.5可将低分辨率内容放大输出--dpi设置屏幕 DPI 值--brightness设置亮度0.01.0--gamma设置伽马校正值--fb widthxheight设置整个虚拟桌面的帧缓冲尺寸--dryrun只打印将要执行的改动而不实际生效适合配置前演练--verbose输出详细调试信息。参数显示设备编号xrandr 的参数是显示设备编号即各输出接口的名称标识。它们不是任意起的名而是由 X Server 根据硬件探测结果生成的常见形式包括VGA-1/VGA-0模拟 VGA 接口HDMI-1/HDMI-2HDMI 接口DP-1DisplayPort 接口DVI-I-1DVI 接口LVDS-1/eDP-1笔记本内置屏幕DP-1-1/DP-1-2部分多路输出的独显如 NVIDIA 用 DP 口扩展出的子接口。确切名称请以xrandr查询输出的第一列如HDMI-1 connected ...为准错误名称会提示cannot find output。实战一列出可用设备及其模式查询模式配置的第一步永远是查询。直接执行xrandr典型输出原文档实例Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 8192 x 8192 VGA-1 disconnected (normal left inverted right x axis y axis) HDMI-1 connected primary 1920x108000 (normal left inverted right x axis y axis) 531mm x 299mm 1920x1080 59.93 60.00* 50.00 59.94 1920x1080i 60.00 50.00 59.94 1680x1050 59.88 …输出字段解读第一行 Screen 0虚拟屏幕framebuffer的整体约束current 3200 x 1080表示当前虚拟桌面尺寸minimum/maximum是驱动允许的范围最大分辨率受显卡与驱动上限约束本机为 8192×8192VGA-1 disconnected该接口存在但未连接任何显示器HDMI-1 connected primary已连接且被标记为主显示器1920x108000中的00是该输出在虚拟桌面中的左上角坐标531mm x 299mm物理屏幕尺寸用于计算真实 DPI(normal left inverted right x axis y axis)当前旋转/翻转状态为正常normal模式列表每一行是一种可用模式分辨率行内数字为支持的刷新率*标记当前正在使用的刷新率标记硬件首选preferred刷新率。例如1920x1080 59.93 60.00* 50.00 59.94表示该分辨率下当前使用 60.00Hz*硬件首选 59.93Hz还可切换 50.00 / 59.94Hz。实战二指定分辨率与刷新率在确认目标显示器支持的模式后可以精确指定分辨率和刷新率xrandr --output HDMI-1 --mode 1920x1080 --rate 60--output HDMI-1锁定操作对象--mode 1920x1080切换分辨率--rate 60在 1920×1080 下将刷新率设置为 60Hz。--rate必须配合--mode一起使用且目标刷新率必须存在于该分辨率的支持列表中见查询输出否则命令会报错。常见的误用场景是只调刷新率不调分辨率此时应显式带上--mode。实战三克隆屏幕克隆镜像模式让所有显示器显示完全相同的内容常用于演示与投影场景xrandr --output HDMI-1 --auto该命令将 HDMI-1 以其首选模式--auto的语义开启。若要多个屏幕克隆可逐个对每个输出执行--auto或者使用补充选项--same-as将副屏指定为与主屏相同xrandr --output HDMI-1 --auto --output VGA-1 --same-as HDMI-1注意克隆模式下各屏分辨率以性能最低的显示器为基准桌面尺寸会被压缩到公共交集。实战四多显示器扩展分屏扩展模式extend让多个显示器组成一个更大的虚拟桌面是办公多屏的默认形态。原文档示例xrandr --output VGA1 --auto --output HDMI1 --auto --right-of VGA1含义VGA1 与 HDMI1 均启用最佳分辨率且HDMI1 位于 VGA1 右侧两块屏幕共同构成横向扩展的桌面。方向控制选项的完整对应关系选项摆放关系--right-of 名称当前输出在名称所指输出的右侧--left-of 名称当前输出在名称所指输出的左侧--above 名称当前输出在名称所指输出的上方--below 名称当前输出在名称所指输出的下方多屏扩展布局可以一条命令串起来配置全部输出例如三屏布局xrandr --output HDMI-1 --primary --mode 2560x1440 --rate 144 \ --output DP-1 --mode 1920x1080 --left-of HDMI-1 \ --output DP-2 --mode 1920x1080 --right-of HDMI-1竖屏场景还可叠加旋转xrandr --output HDMI-2 --mode 1080x1920 --rotate left --left-of HDMI-1实战五多显示器中关闭不需要的输出当显示器未使用或希望桌面只保留主屏时将多余输出关闭xrandr --output HDMI-1 --off --output HDMI-2 --auto该命令同时关闭 HDMI-1、以最佳模式开启 HDMI-2。相比先开再关一条命令串行指定所有输出的状态可避免中间态闪烁。--off只影响输出设备本身不会卸载驱动或破坏配置重新执行--auto即可恢复。位置坐标与虚拟桌面的底层原理从源码实现角度看xrandr 每次调用最终都会向 X Server 提交一组 RandR 请求核心是枚举输出与模式对应查询模式为每个输出挑选 mode分辨率刷新率计算输出在虚拟桌面中的位置--right-of等选项会被换算成具体的 x/y 偏移量写入 CRTC 配置将配置应用并完成模式切换。查询输出中的1920x108000与--pos、--right-of等选项本质都在操作同一个虚拟桌面的坐标系统所有输出的可显示区域在帧缓冲上互不重叠地平铺Screen 0第一行的current 3200 x 1080即这些区域的包围盒尺寸。这也是为什么把某块屏幕放在另一块左侧--left-of会扩大虚拟桌面宽度——它真实地改变了 framebuffer 的布局。相关命令与排错参考以下命令与本仓库中其它 X Window 管理工具配合可构成完整的显示环境调试链路均可在本项目 command 目录中找到对应文档modetestlibdrm 的 DRM/KMS 模式测试工具直接操作内核 DRM 层可在 X Server 未启动或驱动异常时验证显示控制器与连接器状态例如对 Rockchip 等嵌入式平台执行modetest -M rockchip -s 211108:1200x1920 -vxset设置 X 系统用户偏好如蜂鸣器、屏幕保护等可配合调整显示相关行为xhost控制哪些 X 客户端能访问 X 服务器远程显示ssh -X场景出问题时可用其排查访问控制startx启动 X 会话若 xrandr 无法执行通常是 X 会话未正常启动可先用 startx 确认会话状态。常见问题快速定位xrandr: cannot find output xxx输出名称拼写错误或该接口未连接先执行无参数xrandr核对名称Configure crtc N failed/BadMatch请求的分辨率/刷新率组合不被当前驱动或显示器 EDID 支持换用查询结果中列出的模式或检查线缆/转接头无参数输出但分辨率列表为空多为显示器 EDID 读取失败可尝试--newmode手动建立 modeline高级用法需精确的时序参数xrandr 命令找不到确认运行在 X11 会话且安装了x11-xserver-utils包。小结xrandr 凭借查询—选择模式—布局输出三步式工作流成为 Linux 桌面下最直接、可脚本化的显示配置工具。核心要点可归纳为无参数运行xrandr获取真实输出名称与模式列表*为当前值、为首选值单屏用--output--mode--rate多屏用--right-of/--left-of/--above/--below组合布局--auto是快速恢复最佳配置的保险按钮--off用于停用多余屏幕所有操作实时生效、无需重启 X一条命令即可完成整套多屏环境配置且可通过 command/xrandr.md 与仓库内其它 X 工具文档形成完整的排错知识库。赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐xrdp多显示器配置扩展桌面与分辨率管理xrdp多显示器配置扩展桌面与分辨率管理 引言打破单屏局限构建高效远程工作空间 你是否在远程办公时受限于单一显示器的视野是否因频繁切换窗口导致工作效率下后端网络通信Polybar RandR扩展多显示器配置管理的终极指南Polybar RandR扩展多显示器配置管理的终极指南 想要在多个显示器上完美部署状态栏Polybar的RandR扩展为你提供了强大的多显示器配置管桌面应用SerenityOS chres 命令详解通过 IPC 与 WindowServer 切换显示分辨率SerenityOS chres 命令详解通过 IPC 与 WindowServer 切换显示分辨率 chres 是 SerenityOS 用户态中用于改变显操作系统内核驱动创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表