显示器、缩放与多屏:从看懂参数到配置双屏
用高分屏笔记本与外接屏案例,理解逻辑尺寸、排列坐标和应用缩放,并完成可撤销的设置。
根据公开资料整理,未在实机验证。操作前请核对你的版本与硬件环境。
这篇教程面向已经能进入桌面、准备调整屏幕大小或连接第二块显示器的用户。读完后,你应能解释自己的缩放值、根据本机输出配置双屏,并判断异常发生在显示模式、排列还是单个应用。
贯穿全文的教学案例:左侧笔记本屏幕为 2880 × 1800、2× 缩放;右侧外接屏为 2560 × 1440、1× 缩放。接口名与输出示例是示意数据,配置语法按官方源码核对,未进行这套硬件组合的实测。
1. 先决定要改什么
章节:1. 先决定要改什么| 你想得到的结果 | 应先调整什么 | 完成后检查什么 |
|---|---|---|
| 所有界面都太小或太大 | 显示器缩放 | 窗口、按钮和文字是否一起改变 |
| 窗口大小合适,只想改变文字 | 字号 | 相同窗口中是否更易阅读 |
| 鼠标跨屏方向不对 | 显示器排列 | 从相邻边缘能否进入另一屏 |
| 想把相同内容投到另一屏 | 镜像模式 | 两屏是否显示相同内容 |
| 只有一个应用模糊或过大 | 应用的显示与缩放路径 | 同屏上的其他应用是否正常 |
先完成单屏可读性,再排列双屏。需要理解底层分工时,阅读 Hyprland 与输入和显示组件。
2. 分辨率、缩放与逻辑空间
章节:2. 分辨率、缩放与逻辑空间分辨率是输出画面的像素尺寸;缩放影响界面元素使用多少像素;逻辑空间是桌面用于安排窗口的坐标范围。对没有旋转的屏幕,可以用下面的算式估算:
逻辑宽度 = 输出宽度 ÷ 缩放逻辑高度 = 输出高度 ÷ 缩放对同一块 4K 屏幕,下面的差别来自计算,不是硬件推荐:
| 输出分辨率 | 缩放 | 逻辑空间 | 相对于其他行的结果 |
|---|---|---|---|
| 3840 × 2160 | 1× | 3840 × 2160 | 空间最多,界面元素最小 |
| 3840 × 2160 | 1.5× | 2560 × 1440 | 空间与元素大小折中 |
| 3840 × 2160 | 1.6× | 2400 × 1350 | 比 1.5× 元素更大 |
| 3840 × 2160 | 2× | 1920 × 1080 | 空间较少,元素更大 |
1920 × 1080 逻辑布局空间
这是逻辑空间的比例示意,不是字体渲染截图。屏幕的物理像素数量不变;缩放越大,同一大小的界面元素占据越多物理像素,能容纳的逻辑空间越少。
先选择能舒适阅读的大小,再检查是否有足够的工作空间。相同分辨率的不同尺寸屏幕,像素密度不同,因此合适的缩放也可能不同。逻辑尺寸相同,也不保证两块屏幕上的文字物理大小相同。
保留支持的原生输出模式、调整界面缩放,与把输出分辨率降到更低模式,是不同操作。先不要同时修改这两项,否则难以判断清晰度变化来自哪里。
3. 读懂本机显示器信息
章节:3. 读懂本机显示器信息在当前图形会话的终端中执行只读查询:
hyprctl monitors all从每块屏幕的信息里记录以下字段。下面是缩短后的教学示例,实际格式和数值以本机版本为准:
Monitor eDP-1 (ID 0): 2880x1800@60.00000 at 0x0 scale: 2.00 availableModes: 2880x1800@60.00Hz ...
Monitor DP-1 (ID 1): 2560x1440@60.00000 at 1440x0 scale: 1.00 availableModes: 2560x1440@60.00Hz ...| 字段 | 怎样使用 |
|---|---|
eDP-1、DP-1 |
本机输出名称,填入 output;示例名称必须替换 |
2880x1800@60... |
当前分辨率与刷新率,先确认是预期模式 |
at 1440x0 |
当前排列坐标,不是屏幕物理分辨率 |
scale |
当前生效的缩放,用于计算逻辑尺寸 |
availableModes |
本机报告的可用模式;指定模式前在这里核对 |
分支判断: 查不到目标显示器时,先检查输入源、线材和直连结果,进入显示器排障。已经列出显示器、只有大小或位置不对时,再继续修改配置。笔记本屏幕通常使用 eDP 名称,但应以查询结果为准。
4. 保存可恢复的起点
章节:4. 保存可恢复的起点打开 Setup → Monitors,确认正在编辑个人文件。编辑前执行:
cp -i ~/.config/hypr/monitors.lua ~/.config/hypr/monitors.lua.before-display-edit若备份已存在,先判断是否要保留更早的工作配置;不确定时拒绝覆盖并换一个备份名。文件不存在时回到菜单检查实际配置位置,不要继续照抄路径。
保持笔记本屏幕打开。记录当前输出、模式、缩放与坐标,暂时不要同时改合盖、旋转或工作区规则。
5. 单屏:先试缩放,再考虑字号
章节:5. 单屏:先试缩放,再考虑字号本快照中的个人配置包含通用规则,采用 auto 缩放。修改现有对应行,保留文件其他设置:
-- 修改前:由 Hyprland 为显示器选择缩放local omarchy_monitor_scale = "auto"
-- 修改后示例:只在确认需要固定为 1× 时使用local omarchy_monitor_scale = 1这两行表示修改前后,不要同时保留两个同名声明。通用 hl.monitor 规则会使用该变量;已有指定屏幕规则时,还要查看其自身的 scale。双屏需要不同缩放时,直接继续下一节的按屏规则。
保存并退出菜单打开的编辑器后,检查本机输出是否改变,再打开浏览器和终端比较。不要仅凭文件保存成功判断设置已经生效。
若整体界面大小合适,只需文字变大,可先查询当前字号,再尝试一个值:
omarchy display text sizeomarchy display text size 14记下原值,恢复个人字号时使用原值;omarchy display text size reset 恢复的是默认值。已打开的 Foot 终端需要新开窗口观察字号变化。字号与生效行为依据
6. 双屏:计算坐标,再写具体规则
章节:6. 双屏:计算坐标,再写具体规则案例采用顶部对齐,笔记本在左、外接屏在右:
| 屏幕 | 输出分辨率 | 缩放 | 逻辑宽 × 高 | 左上角坐标 |
|---|---|---|---|---|
| 左侧笔记本 | 2880 × 1800 | 2 | 1440 × 900 | 0x0 |
| 右侧外接屏 | 2560 × 1440 | 1 | 2560 × 1440 | 1440x0 |
右屏从左屏的逻辑右边缘开始,计算为 2880 ÷ 2 = 1440。如果误填成 2880x0,两屏之间就会留下逻辑空隙。
教学示意:坐标使用逻辑单位,图形不按比例
(0,0) (1440,0)┌──────────────────────┬─────────────────────────────┐│ 笔记本:1440 × 900 │ 外接屏:2560 × 1440 ││ │ │└──────────────────────┤ │ │ 左侧这一段没有相邻屏幕 │ └─────────────────────────────┘两屏共用边缘的高度只有 900 个逻辑单位。鼠标在右屏更低的位置向左移动时,左侧没有屏幕可进入,这是布局的结果。若希望底部对齐,左屏可放在 0x540,因为 1440 − 900 = 540;居中则是 0x270。选与你桌面摆放和操作习惯相符的排列。
在原有通用规则之后加入按屏规则;若已存在这些输出的规则,修改原规则,避免重复定义。下面的输出名和模式必须根据本机查询替换:
hl.monitor({ output = "eDP-1", mode = "2880x1800@60", position = "0x0", scale = 2,})
hl.monitor({ output = "DP-1", mode = "2560x1440@60", position = "1440x0", scale = 1,})output 选择屏幕,mode 选择其支持的模式,position 设置左上角,scale 决定逻辑大小。暂时不想固定刷新率时,可用 mode = "preferred" 让系统选择偏好模式,但必须按实际输出重新计算位置。Lua 规则源码 · 坐标与缩放规则
7. 为什么部分应用仍然过大或模糊?
章节:7. 为什么部分应用仍然过大或模糊?显示器缩放与应用自己的绘制方式共同影响结果。本快照还设置 GDK_SCALE:这是 GTK 的应用级设置,采用整数,并需重新打开应用观察变化。一个全局应用设置不能表达本案例的两个按屏缩放值;不要给它填写 "2,1" 或跟着鼠标位置手工反复更改。
先保持这项设置,检查具体应用。如果确认某个 GTK 应用的大小与自己的工作环境不符,再按官方配置中的说明选择一个应用级起点,重新打开应用,在两屏分别验证。它不会统一控制所有工具包或所有 XWayland 应用。
| 观察结果 | 下一步 |
|---|---|
| 所有窗口与 Shell 都过大 | 核对当前屏幕的 scale 与逻辑空间 |
| 只有修改前已打开的应用过大 | 保存工作,重新打开该应用再比较 |
| 只有某个应用跨屏后模糊 | 比较其 Wayland/XWayland 与工具包缩放支持,查对应应用文档 |
| 一个终端字号没变化 | 新开 Foot 窗口,与旧窗口比较 |
| 鼠标只在部分边缘能跨屏 | 先检查两屏逻辑高度与上下偏移 |
这些观察用来缩小范围,不是对所有应用的通用修复承诺。
8. 验证、镜像与撤销
章节:8. 验证、镜像与撤销完成双屏配置后,依次验证:查询输出的模式、缩放与坐标;从两屏共用边缘移动鼠标;把浏览器和新终端移到两屏阅读;最后测试一次断开和重新连接。每一步记录实际结果,不符合预期时先撤销最近的那项改动。
投影演示需要相同画面时,通过 Trigger → Hardware 选择镜像;扩展模式用于增加工作空间。建立开盖基准后再测试合盖行为,工作区固定规则作为下一步配置,参阅 Hyprland 工作区规则。
仍有一个屏幕可用时,可从终端恢复备份:
cp -i ~/.config/hypr/monitors.lua.before-display-edit ~/.config/hypr/monitors.lua该命令会覆盖当前个人文件,确认备份确实是想恢复的版本后再接受。随后从 Setup → Monitors 打开恢复后的文件,保存退出,并查询结果;字号改动需要单独恢复原值。图形画面全部不可用时,转到显示器排障,不要继续在看不到效果的情况下叠加配置。
完成标准: 两块屏幕的实际输出符合预期,文字可读,鼠标跨屏行为可以解释,常用应用在两屏经过验证,并且你知道恢复的是哪个文件。
来源与适用范围
章节:来源与适用范围Omarchy 显示器手册提供官方入口与操作;固定提交的 monitors.lua确定本文配置基准;Hyprland 显示器文档说明规则与坐标。
本文额外提供逻辑空间对比、输出解读、混合缩放案例和验证分支。屏幕尺寸、连接带宽、驱动与应用支持仍需以自己的设备为准。