问题标签 [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.
linux - xrandr 两个屏幕分辨率不同,没有不可见区域
更新:问题已经解决了。它一定是在更新 xrandr、Xorg、nvidia 或 intel gpu 驱动程序或其他任何相关的东西时发生的,但它又可以正常工作了!毕竟不是我的错……
我的笔记本电脑有一个 4K (3840x2160) 屏幕(双 GPU,nvidia-prime),有时我想在 HDMI 端口上连接我的全高清电视来观看视频。我更喜欢电视不要镜像我的 4K 屏幕。
所以我启动 arandr 并启用 HDMI 输入。在我之前安装这台笔记本电脑(Linux Arch)时,我的 4K 屏幕被限制为 1920x1080,所以 3/4 的屏幕无法使用,即使没有镜像,但我会只使用镜像观看受限的视频到 4K 屏幕的 1/4,即完整的电视。在我新安装的这台笔记本电脑(同样是 Linux Arch)上,我的桌面似乎调整为 5760x2160,这使得电视只显示屏幕的上半部分,并且由于视频应用程序认为我的屏幕是 1920x2160 而无法正确显示视频。
所以这些情况都不是我想要的。我希望它能够像在 Windows 中一样工作(或者就像我在台式电脑上安装的 Arch 一样,左侧有一个全高清屏幕,右侧有一个 1:1 2K 屏幕,它在那里工作得非常好):一个左边4K屏,右边一个Full HD屏幕,鼠标不能从左到右穿过屏幕下方,所以桌面左边是3840x2160,右边是1920x1080,右边屏幕有相同的上边缘,因此当我转到右侧屏幕时鼠标保持在顶部。
当我试图自动执行此操作时,我希望它可以与 xrandr 一起使用(我已经编写了一个可以工作的 udev 脚本),但即使使用 xrandr,我似乎也无法正确设置参数。
我尝试了很多东西,但我似乎误解了选项或其他东西,因为无论我尝试什么,它都没有像我预期的那样工作。
我试过的最简单的方法就是:xrandr --output HDMI-1-0 --auto --right-of eDP-1 --mode 1920x1080 --pos 3840x0。我尝试添加--fb 1920x1080。它似乎不起作用。
谁能帮我理解它,甚至可以帮我配置它?
编辑:我不知道它是否重要,但我使用 i3。
编辑:如果我将 4K 屏幕的分辨率更改为 1920x1080,则镜像效果很好。这是唯一可用的方法,但这仍然不是我想要的。
编辑:这太奇怪了,我刚刚做了xrandr --output eDP-1 --auto --output HDMI-1-0 --auto --right-of eDP-1
,我的电视现在显示一个空桌面,但我的鼠标仅限于 4K 屏幕,当我在左上角区域时,鼠标也出现在电视上......所以感觉就像电视显示了 4K 屏幕的一部分,但鼠标在左上角。
编辑:我试过的另一件事不起作用:xrandr --output eDP-1 --mode 3840x2160 --fb 3840x2160 --output HDMI-1-0 --mode 1920x1080 --fb 1920x1080 --right-of eDP-1 xrandr: specified screen 1920x1080 not large enough for output eDP-1 (3840x2160+0+0) xrandr: specified screen 1920x1080 not large enough for output HDMI-1-0 (1920x1080+3840+0)
awesome-wm - 连接新屏幕时强制 Awesome 重启
我有一些复杂的屏幕和扩展坞设置,并希望在停靠和脱离时自动重启 Awesome。我怎么能告诉 Awesome 这样做呢?
我知道首选的做事方式是避免重新启动和使用该awful.screen.connect_for_each_screen
功能,但鉴于我的配置,我想重新启动 Awesome。
regex - 如何使用前瞻排除正则表达式中的特殊字符
我有一个正则表达式,用于尝试检测屏幕分辨率,如下所示
当我在我的脚本中使用时,它给了我这样的东西
输出
我尝试使用前瞻,但我猜我没有正确使用它,因为我得到了相同的匹配。
代码
有人可以解释前瞻如何与特殊字符一起使用,以便我解决这个问题吗?我只想以下面的形式或一些变化返回屏幕分辨率。我想要做的是区分双显示器和四显示器显示器。
期待
或这个
如果它只能返回屏幕分辨率,则可以加分。
xrandr 输出
screen-resolution - 如何将“Raspberry Pi OS”中的分辨率更改为自定义分辨率
所以我正在尝试实现以下分辨率:1920x127
到目前为止我已经尝试过:
选项1-
在文件中添加了以下内容 /boo/config.txt
:
遵循 Raspberry Pi 文档:https ://www.raspberrypi.org/documentation/configuration/config-txt/video.md
这不会将分辨率设置为1920x127。但是如果我使用例如1920x1080它确实会相应地改变分辨率。所以这个过程有效,但不适用于我目前的需要。
选项 2-
在文件中添加了以下内容/boot/cmdline.txt
:
所以文件看起来像这样:
就像第一个解决方案一样,它不适用于1920x127但它适用于1920x1080。
现在,这个解决方案不能单独工作。它需要以下内容
创建文件/usr/share/X11/xorg.conf.d/screen-resolution.conf
并粘贴:
但是,对于1920x127,X 服务器会转到1024x768,但是如果我将两个文件都设置为1920x1080,X 服务器会以1920x1080运行
选项 2 结束
所以检查xrandr
命令我可以看到它说:
最小值为 320x200。所以我能设置的最小分辨率是 1920x240。
现在,关于监视器。
我尝试过的所有东西都在 2 台显示器中:
所以。监视器 1 中的解决方案 1 和 2 适用于分辨率1920x1080和1920x240,它看起来被拉伸了,但监视器显示了一些东西。它不适用于分辨率 *1920x127。这意味着它进入默认1024x768。
在监视器 2 中,解决方案 1 不起作用,它总是进入默认1024x768。但是解决方案 2 它适用于1920x1080和1920x320。注意“320”,因为它可以工作在1920x240,这意味着 X 服务器在1920x240 开始,但显示器显示“不支持分辨率”。
我试过用 xrandr强制1920x127 :
(不是实际使用的代码,只是一个例子)
在此之后,监视器熄灭,就像没有输出一样。将分辨率设置回默认值后,显示器继续运行。
所以,基本上问题是:如何设置低于 xrandr 320x200显示的最小值的分辨率?
注意:显示器的制造商向我展示了在1920x127 下使用他们自己的 SBC 和 Android 上的 Rock 芯片工作的显示器。
x11 - X11 (xorg) 无法设置/更改分辨率 (linux x86)
我正在尝试将 10 英寸触摸屏(原始分辨率:1280x800)切换到 1024x768,但我尝试的所有操作都被忽略或导致错误。据报道,显示器支持分辨率,但xrandr --verbose
报告(我使用的是默认的 VESA 驱动程序):
如果我尝试通过更改分辨率xrandr --output default --mode 1027x768
,我会得到:
据我所知,只有第二行与我的问题有关;我不知道为什么xrandr
要配置crtc 0
,但我只连接了触摸屏。
失败了,我尝试直接使用以下配置模式xorg.conf
:
不幸的是,这不起作用,要么Xorg.log
显示以下内容:
为什么这不起作用?还有什么我可以尝试让显示器切换到 1024x768?
我已将完整的日志文件上传到Pastebin。
linux - 自动使用所需的监视器和相应的音频输出
我正在使用manjaro-linux-i3和 polybar,我目前正在处理我的多显示器设置。我有一台电视,通常与它连接的放大器一起使用。此外,我的办公桌配有三重显示器设置,我通常将其与耳机一起用于音频输出。我的一个屏幕是纵向的,这总是弄乱我的登录屏幕。
我可以随意更改我的音频输出和有源显示器。但我希望它更有效率。目前我正在使用 arandr 更改我的显示器和 pavucontrol 以在需要时更改我的音频输出。
我希望我的登录管理器(lightdm)始终正确显示在我的显示器上(即使在纵向显示器上)。如果有人能告诉我如何将不断变化的监视器和音频输出结合起来,那就太好了。这样我就不必每次都手动进行。
linux - 通过 HDMI 使用音频而不通过 xrandr 显示
我的桌子上有 2 台显示器通过 display-port 连接,我的电视通过 hdmi 连接。
我正在寻找一种在我的 hdmi 端口上使用音频而不在电视上显示的方法。问题是我的电视连接到连接到我的电脑的放大器。
电视 -> 放大器 -> 电脑
当我的电视应该被禁用时,我希望能够将我的音频传送到放大器。这是一台 YAMAHA RX-V775,并且启用了 HMID 直通。
我尝试了不同的 xrandr-commands 来让它工作,但我永远无法在不显示在电视上的情况下让音频工作(电视不需要打开,只需通过 xrandr 启用)。
这是我当前的命令:
我尝试了以下但没有成功:
这有效,但我在电视上显示:
当 hmdi 关闭时xrandr --output HDMI-0 --off
,我能够在 pavuctl中看到 hdmi 条目,但状态为(未插入),(不可用)
我在两台显示器(1440p 和 1080p)上都得到了不同的分辨率,这使得在不从较低分辨率升级到较高分辨率的情况下很难镜像它们,因为无法为 1080p 显示器选择所需的模式(1440p)。这会导致图像质量不佳。
所以我的问题是:是否可以在显示器关闭时使用 hdmi 端口进行音频?
termux - AnLinux termux 上的 ARM64 android 设备上缺少 XRANDR 扩展
我在带有 Termux 的 ARM 架构设备上使用 AnLinux。我安装了 Ubuntu 和 xfce 并将其与 vnc 连接。但是当我使用 xrandr 命令更改分辨率时,它抛出了一个错误
RandR extension missing
,我试图重新安装所有关于它的东西,但这不起作用。所以我问是否有另一种方法来设置分辨率或安装缺少的扩展。
docker - 带有 vcxsrv 的 Windows 上的 Docker 容器中的 XFCE4 - 为多个屏幕设置
我目前正在研究在 Docker 容器中运行桌面环境(XFCE4)的可能性。目的是为 VHDL 创建一个独立的开发环境,便于学生安装和设置。
我的 XFCE4 映像基于 X11docker dockerfiles,到目前为止它在单窗口模式下工作。我想要实现的是能够使用这个具有多个由 vcxsrv 创建的屏幕的容器。X 服务器的运行可以由用户完成,因为它取决于个人偏好和屏幕数量。我想知道如何启动 XFCE4 并让它自动生成一个跨越所有屏幕的虚拟桌面并将其划分。
我的猜测是使用 xrandr 和 Arandr 来实现这一点,但不知何故,我的容器无法识别 X 显示器上的多个屏幕。尽管我在容器中所做的一切实际上都镜像到了所有屏幕。
我正在使用以下命令启动 X 服务器:
这是我从 xrandr 得到的输出:
我的 Dockerfile:
据我了解,vcxsrv 创建了一个 X 显示。X 显示器可以包含多个屏幕。为什么我的 Docker 容器中的软件无法识别显示中的其他屏幕?我错过了什么?
screen - xrandr 长延迟(完全可复制!)
我发现当我做“ xrandr --output eDP-1 --reflect xy
”时它似乎是瞬间的,但是当我做“ xrandr --output eDP-1 --reflect normal
”(放回去)时,会有大约三秒的延迟(在此期间屏幕是黑色的)。如果屏幕已经处于正常模式,则后面的命令没有延迟。如果我对我的外接显示器(HDMI-1)而不是笔记本电脑屏幕(eDP-1)执行相同的结果(在这种情况下可能更像是五秒而不是三秒?)。
为什么会这样,并且是一种无需长时间延迟即可翻转屏幕的方法?与“--rotate invert”后跟“--rotate normal”相同。