问题标签 [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.
bash - 脚本在睡眠前未运行
我正在尝试创建一个在睡觉前运行的脚本。有人可以告诉我我在这里做错了什么吗?当我在终端中运行命令时,此脚本运行完美。
日志输出:
c++ - 命令行 XRandR 和自己的代码之间的差异
我需要以编程方式获取显示器的刷新率。
当我在命令行上键入xrandr (1.4.1, opensuse 13) 时,我得到:
此结果由nvidia-settings -q RefreshRate等确认。
但是......当我运行以下代码(来源:https ://github.com/raboof/xrandr/blob/master/xrandr.c )时,使用 g++ 4.8.1(使用 -lX11 -lXext -lXrandr)编译:
我得到:
为什么我会得到这个结果?我做错了什么?
该软件使用带有 GLEW 的 OpenGL。这有什么影响吗?我们确实调用了 glXQueryDrawable(dpy, drawable, GLX_SWAP_INTERVAL_EXT, &val)但之后,我认为这不会有任何影响。
php - 使用 ubuntu 和 PHP 以编程方式检测 HDMI 监视器是否已关闭?
我尝试过使用以下命令的命令:
此命令返回连接的端口列表,我如何使用此命令仅获取 HDMI 连接列表的列表。
linux - 在 NixOS 上即时更改 X11 dpi
我希望xrandr --dpi 180
在每次会话中即时将 dpi 从 90 更改为 180,从而降低分辨率,但没有任何反应。我错过了什么吗?我能够通过添加fonts.fontconfig.dpi=180
到/etc/nixos/configuration.nix
then的愚蠢技巧来更改 dpi nixos-rebuild test
,这不太理想。
非常清楚,这是我的情况: 1. 对于我的笔记本电脑屏幕,默认分辨率太低,所有内容(字体)看起来都非常小。2. 我了解到在 nixos 上添加fonts.fontconfig.dpi=180
可以/etc/nixos/configuration.nix
将 dpi 从默认的 96 设置为 180,以便一切都具有正常大小(字体)。3. 但是,我现在有时会在分辨率低于笔记本电脑的显示器上打开 vm,并且在使用笔记本电脑屏幕和显示器之间切换时,我想即时更改 dpi。
linux - 使用 xrandr 进行缩放克隆
我经常使用我的笔记本进行教学,投影仪上显示全屏。随着投影仪越来越好,我经常发现投影仪的分辨率比我的 LCD 屏幕提供的分辨率更高或不同(过去我只使用 1024x768)。
我现在想做的是使用外部显示器的最佳分辨率,同时在笔记本屏幕上缩小相同的内容(不平移)。或者,如果投影仪的一维分辨率较小,则液晶显示器上的黑条是可以的。只要外部投影机使用尽可能高的质量,我就不用担心 LCD 上出现混叠伪影。
例如,我最近有:
我试过了:
但随后全屏演示的底部被剪辑在投影仪上。在这种情况下,我想在笔记本电脑屏幕上显示一个黑条或垂直缩放。我怎样才能做到这一点?
我使用了缩放选项(没有投影仪无法在此处重现)但没有成功。
bash - 两屏切换 xrandr
我正在尝试创建一个 bash 脚本,它可以让我根据连接到笔记本电脑的屏幕(我有两个端口)来切换外部屏幕。老实说,我在 bash 方面的专业知识有限,所以这也可能是一个合乎逻辑的 bash 错误。我有以下脚本:
发生的情况是 VGA_CON && HDMI_CON 总是返回 true,这导致我的脚本总是认为两个显示器都已连接。任何人都可以告诉我发生了什么?
xorg - xrandr / arandr RRSetScreenSize 和 RRSetCrtcConfig 错误
我试图让 X 从我的笔记本电脑上使用 3 个外接显示器。
TLDR;它有 10% 的时间工作。 arandr
显示一个包含监视器的浅灰色框(见图)。当显示器不完全适合时,我会出错。
X 的配置中调用的浅灰色背景框是什么(见图)? 如何设置浅灰色框的大小?
这在 10% 的时间内有效:
- 1x 笔记本电脑屏幕 eDP1 (1920x1080),
- 2x 外部 DVI-I-1 和 DVI-I-2 (1920x1080) 通过此 USB3 设备
- 1 个外部 HDMI1 (1680x900)
这是 arandr 构建的脚本(为可读性添加了换行符)。
问题似乎出在 HDMI 显示器上,分辨率为 1600x900。当 x 尝试自动配置它时,它使宽度为 1920+1600 而不是 1920+1920。见下图。
脚本给出错误
如果未插入 HDMI:
xrandr:找不到模式 1600x900
如果 HDMI 已插入,但 DVI-I-1 在浅灰色背景框之外
XRandR 失败:XRandR 返回错误代码 1:X 失败请求错误:BadValue(整数参数超出操作范围)失败请求的主要操作码:140(RANDR)失败请求的次要操作码:21(RRSetCrtcConfig)失败请求中的值: 0x780 失败请求的序列号:53 输出流中的当前序列号:53
或下图中的错误(最常见)
这偶尔会起作用,当所有东西都插入时,笔记本电脑会神奇地配置,或者
- USB 或 HDMI 显示器不工作或
- 屏幕缓冲区损坏,我必须按 ctrl-alt-backspace 或
- 随机效果掷 d20(镜像等)。
arandr
如下所示(注意 DVI-I-1 如何位于浅灰色背景之外)。在玩了很多之后:
- 当浅灰色背景不适合显示器时,它永远不会工作。
- 当浅灰色背景适合显示器时,它总是有效。
- 当我最后插入 HDMI 显示器时,它有时会起作用,但不可靠。
如果我运行这个 xrandr(没有 HDMI),我会得到一个错误:
我在 System76 笔记本电脑上使用 Linux Mint 18。
谢谢!
windows - Windows 中的视频模式列表
如何获取 Windows 中所有可用视频模式的列表?我想查看分辨率和刷新率。在 Linux 下,我会使用不带参数的 xrandr,这给了我这个完美的列表:
我也很高兴看到一种模式是隔行扫描还是逐行扫描。Xrandr 将为所有隔行扫描模式附加一个小写的“i”(参见上面的最后一行)。
fedora - 保存使用 xrandr 创建的分辨率
我在 Fedora 24 上的屏幕分辨率出现问题。
屏幕不断变为 1024x768,而 1280x1024 不可用。
我在arch linux论坛上挖掘了一点,这个命令:
https://bbs.archlinux.org/viewtopic.php?id=73738
这解决了我的问题,但新模式不会在系统重新启动时持续存在。任何人都知道即使在系统重新启动后如何强制我应用此配置?
opengl - 使用 xcb 和 randr 获取屏幕信息
我试图用 Xlib、XF86VidMode 和 OpenGL 编写一些简单的图形。我有两个问题:
- Xlib 似乎没有 WM_TIMER 的等价物,所以我编写了一个 SIGALRM 处理程序,它发送消息以解除对消息循环的阻塞,但由于这种用法完全是线程不安全的,所以程序会在一段时间后挂起。因此我尝试在 xcb 中重新编码。
- XF86VidMode 使用起来很尴尬,我不喜欢结果,所以我改用 RandR。
完成上述操作后,事实证明 xcb 有相同的挂起,所以我无法编写阻塞消息循环。相反,我每隔一段时间就轮询一次,程序没有挂起,但是有一些令人讨厌的跳帧。
虽然我可以用 RandR 切换视频模式,但我想使用 xcb 版本,但它不起作用。我为 xcb 抄袭了@datenwolf 的一个示例,但不知何故 xcb_randr_get_screen_info_reply 不起作用。它应该返回一个指向结构的指针,该结构后跟一个屏幕尺寸数组(以毫米为单位的尺寸是错误的),然后是刷新率数据。刷新率数据是垃圾,大部分为零。我究竟做错了什么?
所以我的输出是
谁能发现我做错了什么?