问题标签 [xrandr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何持续监控 xrandr 并自动响应多显示器设置中的物理变化?
我正在使用带有 mint linux 的笔记本电脑,并使用多显示器设置。我将在问题末尾显示我当前的 xrandr 输出以供参考。
我每天多次更改我的物理显示器设置。我拔下一个或两个外接显示器,然后再插入。
我当前的窗口管理器 - xfce - 不太擅长响应这些变化。目前,当物理设置发生变化时,我必须手动执行一些准备好的 xrandr 命令,以便 xfce 能够适应新的监视器设置。这是几个准备好的 xrandr 命令之一:
xrandr --output DP1-1 --primary --right-of eDP1 --output DP1-2 --right-of DP1-1
我不想再手动执行此操作了。我有几个想法可以自动对物理监视器设置的变化做出反应。这是基本思想:
- 在后台使用脚本监视 xrandr。
- 将我的显示器设置的当前状态保存到文件中(或保存在内存中)
- 如果之前的状态有变化,执行相应的 xrandr 命令来响应变化。
我看到几个选项可以做到这一点:
- 每秒 Crob 工作:这可能不是一个好主意,因为 cron 似乎并非旨在每秒执行命令 - 根据我的研究。
- 准备一个 bash 脚本,该脚本处于无限循环中,并在无限循环结束时休眠一秒钟。
- 在启动时启动一个 python 脚本,在这个 python 脚本中处理监视器设置的逻辑,将 python 脚本放入一个无限循环并在无限循环结束时使用 time.sleep(1)。我使用 python 的想法很简单:我是一个公平的 pyhton 开发人员,但在 bash 方面我很穷。因此,我对使用 python 比使用 bash 更有信心。
- 如果监视器设置发生变化,linux内核会发出一个信号,并在发出这个信号时执行一个脚本。
我有几个问题:
- 如果我使用选项 3:执行的 python 脚本是否会在其自己的系统进程中使用 python 解释器?含义:如果这些其他脚本共享相同的解释器实例,这个脚本会用它的睡眠指令阻止其他 python 脚本吗?我想使用这个监视器检查脚本在后台和自己的进程中运行,这样其他python脚本不受影响。
- 如果我使用选项 4:这些信号是否存在?我如何使用它们以及如何让它们触发脚本,无论是 bash 脚本还是 python 脚本?
非常感谢你的支持!
祝你今天过得愉快。
xrandr 输出供参考:
linux - xsetwacom 找不到输出
Xrandr 显示了两个监视器。我想使用 xsetwacom 将所有设备移动到 HDMI-0 但是底部的 xsetwacom 命令无法识别 HDMI-0
输出:
所以我尝试将 xsetwacom 转为 HDMI-0
在我让它工作之后,我可以制作一个脚本在启动时执行它,但我找不到任何关于如何修复 xsetwacom 或 xrandr 以正确识别 HDMI-0 的资源
regex - 将变量过滤到特定部分/字符 | 从过滤的文本中自动设置分辨率 | Ubuntu,重击
我正在尝试制作一个脚本,将分辨率设置为 1920x1080,频率为 60Hz,如下所示...
该脚本应过滤以获取 xrandr 的特定参数,因为这两个命令的输出都有一些不需要的文本。
然后将分辨率设置为主显示器,例如。HDMI1 或 VGA1 使用新创建的模式。
附言
我知道在启动等时通过脚本设置它不是正确的方法,您不需要向我讲授最佳实践以及如何在配置文件中执行它...
系统:Ubuntu 20.04,只有核心系统 utils、gnome 终端、openbox 和 xorg
linux - 使用过扫描设置将分辨率从一台 PC 复制到另一台
我已将两台 PC 连接到松下等离子电视 (TX-P42GW32)。我正在解决一个完全适合屏幕的问题,第二个有过扫描问题。
- RaspberryPi(Raspbian,OpenBox):屏幕完美贴合。
- 英特尔 NUC8i3BEK(Manjaro,KDE):屏幕在电视边缘后过扫描。
有没有办法将分辨率从 RPi 复制到英特尔 NUC?
linux - 如何检测外部显示器是否在镜像中或通过命令扩展?
如何检测到我的外接显示器处于镜像模式或扩展模式或设置为主。我已经完成了很多命令,例如xrandr .
x11 - 与“Xrandr”和“XineramaQueryScreens”有什么不同
默认分辨率为 1280x720。fractional scaling
当我将“ ”调整为 125%时,我的系统(20.04.1-Ubuntu)上只有一个屏幕。我得到关于分辨率的不同价值。首先,我使用扩展 API 'XineramaQueryScreens' 查询结果,返回
当我使用命令时:
它返回:
我想得到实际的分辨率。1280x720
如果我理解正确,无论如何调整 ' ' ,实际分辨率始终是factional scaling
。
- 为什么会有不同的结果?
- '
XineramaQueryScreens
'返回2048x1152
,不是默认分辨率的125%倍1280x720
。为什么?