首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个虚拟屏幕中使用xrandr分割显示

在两个虚拟屏幕中使用xrandr分割显示
EN

Unix & Linux用户
提问于 2020-08-22 12:22:26
回答 1查看 13.8K关注 0票数 9

我搜索的线程/网站,但没有完全帮助我

上下文

我有一个5120x1440px屏幕分辨率的屏幕。我想把这个监视器分成两个虚拟屏幕,这样我就可以像使用双监视器一样使用这个监视器了。我还想快速切换到只使用一个屏幕,所以我想在bash脚本中完成所有这一切,但这在目前并不重要。

xrandr的输出如下

代码语言:javascript
复制
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected primary 5120x1440+0+0 (normal left inverted right x axis y axis) 1mm x 1mm
   3840x1080    119.97 +  99.96    59.97  
   5120x1440    119.97*  100.00    59.98  
   2560x1440     59.95  
   2560x1080    119.88   100.00    60.00    59.94  
   1920x1080    119.88   100.00    60.00    59.94  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   640x480       75.00    72.81    59.94  
DP-5 disconnected (normal left inverted right x axis y axis)
USB-C-0 disconnected (normal left inverted right x axis y axis)

Implementation

在我发现的教程和帖子之后,这就是我需要做的

代码语言:javascript
复制
xrandr --setmonitor VIRTUAL-LEFT 2560/0x1440/1+0+0 DP-4
xrandr --setmonitor VIRTUAL-RIGHT 2560/1x1440/1+2560+0 none 

来解释这些数字

  • 虚拟左
    • 2560因为那是5120的一半
    • 0,因为在这些例子中,轴(在我的例子中是1mm)除以2,左边的显示得到四舍五入的数字。
    • 1440因为那是我的屏幕高度
    • 1,因为在示例中使用了另一个轴(在我的例子中也是1mm ),如下所示
    • 0+0,因为这与xrandr输出中的相同
    • DP-4,因为这是连接的主

  • 虚右
    • 2560,因为见上文
    • 1,因为见上文,虽然这需要舍入数字
    • 1440,因为见上文
    • 1,因为见上文
    • 2560+0,因为这将是左偏移量,并在示例中使用。
    • none,因为在每个例子中都是这样做的

由于我没有得到任何改变,所以我按照示例中的建议来做

代码语言:javascript
复制
xrandr --fb 5120x1441
xrandr --fb 5120x1440

预期结果

我现在希望,有两个虚拟屏幕,并准备好桌面。

实际结果

屏幕被切成两半,左边的屏幕有我现在的桌面,但是右边的屏幕完全是黑色的,但是我可以移动鼠标,但是我不能配置它,我不能在显示器中看到它,我不能用它做任何事情。

这里的解决方案是什么?

EN

回答 1

Unix & Linux用户

发布于 2022-09-28 08:02:05

不幸的是,由于一些开放的问题,大多数窗口管理器无法在linux上工作。

首先,xserver不允许在一个监视器上设置多个输出,没有监视器的输出被多个应用程序忽略。这里有一个修补程序:

https://gitlab.freedesktop.org/xorg/xserver/-/issues/1213

第二种情况是,gtk使用监视器名称而不是输出名称来区分监视器(如果两个输出位于同一个监视器上,则不起作用)。我做了一个小补丁,只是在监视器中添加了一个“修复”问题的数字。但在所有情况下,要使这一工作充分发挥作用,还需要进一步的工作:

https://gitlab.gnome.org/GNOME/gtk/-/issues/2013#note_1280968

对我来说,在我的(超宽的)桌面上使用linux是非常令人沮丧的,也是一种阻碍。这种解决办法是可行的,但在它们得到上游实现之前,需要手动修补。

编辑:

我重新编写了解决方案,并在https://gitlab.gnome.org/GNOME/gtk/-/issues/2013#note_1564528中记录了所有内容。我会试着把这个合并到上游。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/605755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档