gpt4 book ai didi

c++ - Linux强制应用程序在特定显示器上全屏显示

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:48 24 4
gpt4 key购买 nike

为了工作,我正在开发一款非常专业的软件,它需要运行两个全屏应用程序,每个显示器一个。为简单起见,我目前使用的是 LUbuntu 64 位,配备 AMD Radeon HD 显卡(目前不记得确切的版本,但它是相当新的)。

如果可能的话,我想坚持使用 SDL2,但如果我需要对其进行一些修改或转移到其他库,我对此相当满意。

所以,我的问题是,是否可以在 Linux 中的不同显示器上运行两个全屏应用程序(如果可以,我需要采取什么样的设置步骤)?枚举显示器以获得其左上角 x/y 位置的最佳选择是什么,以便我可以告诉 SDL 将我的窗口移动到该显示器上以全屏显示?

注意:我没有将此问题发布到 askubuntu,因为我不确定这个问题是否严格围绕 Ubuntu 平台展开。

更新:

这是 xrandr -q 的输出:

Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 3200 x 3200
DFP1 disconnected (normal left inverted right x axis y axis)
DFP2 disconnected (normal left inverted right x axis y axis)
DFP3 disconnected (normal left inverted right x axis y axis)
DFP4 disconnected (normal left inverted right x axis y axis)
DFP5 disconnected (normal left inverted right x axis y axis)
DFP6 disconnected (normal left inverted right x axis y axis)
DFP7 disconnected (normal left inverted right x axis y axis)
DFP8 disconnected (normal left inverted right x axis y axis)
DFP9 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 533mm x 312mm
1280x1024 50.0 + 75.0 60.0 30.0 24.0
1920x1080 60.0 + 50.0* 59.9 30.0 25.0 30.0 24.0 30.0 30.0 24.0
1776x1000 50.0 59.9 25.0 24.0 30.0 30.0
1680x1050 50.0 60.0 30.0 24.0
1400x1050 50.0 60.0 30.0 24.0
1600x900 50.0 60.0 30.0 24.0
1440x900 50.0 59.9 30.0 24.0
1280x960 50.0 60.0 30.0 24.0
1280x800 50.0 59.8 30.0 24.0
1152x864 50.0 59.9 75.0 30.0 24.0
1280x768 50.0 59.8 30.0 24.0
1280x720 60.0 50.0 59.9 30.0 24.0
1024x768 50.0 75.0 70.1 30.0 24.0 60.0
1152x648 50.0 59.9
800x600 50.0 30.0 24.0 72.2 75.0 60.3 56.2
720x576 59.9 30.0 24.0 50.0
720x480 50.0 30.0 24.0 60.0 59.9
640x480 50.0 30.0 24.0 75.0 72.8 67.0 60.0 59.9
DFP10 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.0*+ 76.0 75.0 72.0
1280x960 76.0 75.0 72.0 60.0
1152x864 75.0 60.0
1280x768 76.0 75.0 72.0 60.0
1280x720 76.0 75.0 72.0 60.0
1024x768 75.0 70.1 60.0
800x600 72.2 75.0 60.3
640x480 75.0 72.8 67.0 59.9
640x350 60.0 70.1
CRT1 disconnected (normal left inverted right x axis y axis)

我已经尝试搜索一些论坛以更好地解释如何处理这些信息,看来我应该这样做:

xrandr --output DFP9 --auto --output DFP10 --auto

当我这样做时,我仍然只有一个显示器 (":0")。

最佳答案

你的设置是什么?您实际上有 2 个独立的 X 显示器,还是使用 Xinerama 将两者结合起来?

如果您使用 2 个显示器,它们应该有自己的 -display 或 DISPLAY 环境变量。您可以使用它来执行新应用。

$ echo $DISPLAY
:0.0
$ xterm -display :0.0

在另一个显示器中打开一个 shell 以获取您的另一个显示器环境变量。

还有-geometry,格式为[Wth,Ht+X+Y]

$ xterm -geometry 132x80+500+0

启用 Xinerama 后,您的其他显示器通常是 +X+Y 偏移量。

当然,这确实需要应用程序处理命令行参数。然后在初始化窗口时将它们传递给 X。对于 xterm,宽度和高度是文本字符的单位,其中 X/Y 是屏幕像素。

关于c++ - Linux强制应用程序在特定显示器上全屏显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15435870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com