mons双显示器模式全解析:6大模式玩转扩展、镜像与复制
【免费下载链接】monsPOSIX Shell script to quickly manage monitors on X项目地址: https://gitcode.com/gh_mirrors/mo/mons
在 Linux 桌面环境中,双显示器模式切换一直是让人头疼的问题:图形界面设置繁琐、命令行参数难记、拔插外接屏幕后显示布局还会乱掉。而mons这款轻量级的 POSIX Shell 脚本,正是为解决这个痛点而生——它基于 xrandr 封装了最常用的双屏操作,让你用一条命令就能完成扩展、镜像、复制、单屏等 6 大模式的快速切换,堪称 Linux 笔记本与多屏工作台的效率神器。
mons 是什么?为什么推荐用它管理双显示器
mons 是一个纯 Shell 编写的开源工具,零依赖、极简设计是它的核心卖点。除了系统自带的 xorg-xrandr,它不需要任何额外的运行环境,启动速度快、占用几乎可以忽略。
相比手动敲 xrandr 长命令,mons 带来了这些实实在在的好处:
- ✅一条命令切换:
mons -e right就能把第二块屏扩展到右侧 - ✅快捷键友好:支持循环模式,一个快捷键遍历所有双屏方案
- ✅多屏选择:三块以上屏幕时,可以精确指定启用哪一块或哪两块
- ✅守护进程:自动监听显示器热插拔,拔掉外接屏后自动恢复笔记本屏幕
最快安装方法:三步搞定 mons
安装非常简单,Arch 用户可以直接通过 AUR 安装:
pacaur -S monsFreeBSD 用户使用:
pkg install mons手动安装只需克隆仓库后执行 make 命令:
git clone --recursive https://gitcode.com/gh_mirrors/mo/mons cd mons sudo make install安装完成后,在终端输入mons即可查看当前连接的显示器列表、ID 和当前模式,非常直观。
双显示器6大模式逐一手把手解析
mons 把双屏操作抽象为6 种互斥模式,参数一一对应,记忆成本极低。下面逐一详解。
模式一:仅主屏模式(-o)
只想用主显示器、完全关闭副屏时使用,适合专注写代码或做演示前的清理:
mons -o模式二:仅副屏模式(-s)
反过来,只点亮第二块屏幕。外接大屏当主战场时特别实用:
mons -s模式三:复制模式(-d)
两块屏显示完全相同的内容,分辨率取两者交集,适合现场演示、会议投屏:
mons -d模式四:镜像模式(-m)
与复制模式类似但略有不同:镜像模式会按主屏的分辨率对副屏做等比缩放适配,保证画面不拉伸变形,尤其适合不同分辨率屏幕之间的投影:
mons -m模式五:扩展模式(-e)
最常用的生产力模式——把桌面横向或纵向延展到第二块屏上,相当于凭空多出一块桌面空间:
mons -e right # 扩展到右侧 mons -e left # 扩展到左侧 mons -e top # 扩展到上方 mons -e bottom # 扩展到下方搭配-e right后,鼠标可以跨屏滑动,非常适合一边看文档、一边写代码的双屏办公。
模式六:循环切换模式(-n)
把所有模式串成一条循环链,每次执行mons -n <side>就切换到下一种模式:
主屏 → 副屏 → 扩展 → 镜像 → 复制 → 回到主屏把它绑定到一个快捷键上,就能实现一键轮换所有双显示器模式,比在设置界面里点点点高效得多:
mons -n right # 当前是主屏模式,执行后进入扩展模式 mons -n right # 当前是扩展模式,执行后进入镜像模式三屏及以上:多显示器选择模式
当电脑连接了 3 块以上屏幕时,mons 还提供了精确到单块屏的控制能力。先运行mons查看屏幕 ID 列表,然后用:
mons -O 5 # 只点亮 ID 为 5 的那块屏 mons -S 0,5:R # 同时点亮 0 和 5 两块屏,5 放在 0 的右侧 mons -S 5,0:R # 同上,但交换左右顺序参数中的R表示右侧,T表示上方,布局控制随心所欲。
进阶技巧:DPI、主屏与自动恢复
切换模式时同步调整 DPI
外接高分屏时经常需要调整 DPI,mons 允许在任意模式命令后追加--dpi参数,一步到位:
mons -e right --dpi 120指定主显示器
通过--primary配合显示器名称(如 LVDS-1、VGA-1),可以随时更换主屏,列表中带*号的即是主屏:
mons --primary VGA-1守护进程模式:拔插显示器自动恢复
对笔记本用户来说最实用的功能:以后台方式运行mons -a,当检测到只剩一块屏连接时,会自动重置显示配置并点亮最后一块屏:
nohup mons -a > /dev/null 2>&1 &更进一步,还可以用-x参数挂载自定义脚本,根据不同屏幕数量自动切换配置。脚本内可通过环境变量MONS_NUMBER获取当前屏幕数量,实现"插上外接屏自动扩展、拔掉自动恢复"的智能联动,相关逻辑定义在 mons.sh 的 Daemon Mode 段落中。
总结:一张表记住 mons 双显示器模式
| 参数 | 模式 | 典型场景 |
|---|---|---|
-o | 仅主屏 | 专注模式 |
-s | 仅副屏 | 外接大屏办公 |
-d | 复制 | 会议演示 |
-m | 镜像 | 不同分辨率投屏 |
-e <side> | 扩展 | 双屏生产力 |
-n <side> | 循环切换 | 快捷键轮换 |
作为一款把 xrandr 复杂参数封装到极致的开源脚本,mons 用最简洁的命令解决了 Linux 双显示器模式切换的日常痛点。无论你是刚入门的 Linux 新手,还是追求效率的老玩家,都值得把它加入你的工具清单,从此告别在图形设置面板里反复折腾的日子。🚀
【免费下载链接】monsPOSIX Shell script to quickly manage monitors on X项目地址: https://gitcode.com/gh_mirrors/mo/mons
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考