Answers:
您可以使用“ fakexinerama ”来实现您想要的:
Fake Xinerama is a replacement libXinerama library that instead
of querying the XServer reads ~/.fakexinerama and provides fake
information about Xinerama screens based on this file. It can be
used to fake a Xinerama setup even on computers with just one monitor
or to fake Xinerama setup other than one specified in the XServer
configuration (e.g. making one screen smaller when using two same
screens). It's probably only useful for developers.
为了进一步扩展akira在使用Lubos Lunak的“ fake xinerama”方面的技巧,以下正是我如何使其适用于我的方法:
gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
gksu nautilus
2
0 0 720 900
720 0 720 900
Fake Xinerama允许您定义所需的任何类型的虚拟屏幕设置,但我只需要垂直分割屏幕。为了在显示器上实现这一点,请看我的文件示例,将X尺寸乘以Y像素,只需将X / 2替换为720,将Y替换为900。
而已。我注销并重新登录,然后启动并运行。
再次感谢Lubos Lunak创建此mod,并感谢akira向我指出了它。
现在有一个名为FakeXRandR的新项目,可以直接进行。
这是一种欺骗X11服务器的工具,可以认为监视器的数量比实际数量多。它与libXRandR和libXinerama挂钩,并用多个虚拟监视器替换某些可配置的监视器配置。该软件包随附的工具可用于配置监视器的拆分方式。
无需附加软件即可在XRandR 1.5中完成。虽然fakexinerama和FakeXRandR都没有在Xubuntu上为我工作,但此解决方案最终将屏幕分成了两部分。
要拆分监视器,请执行以下操作:
输入xrandr
终端以检查输出名称和您要拆分的显示器的当前分辨率。
在我的系统上,结果是:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920x1080 60.00*+ 50.00 59.94
1920x1080i 60.00 50.00 59.94
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.08 60.00
800x600 75.00 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 75.00 60.00 59.94
720x400 70.08
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
我们可以看到我的显示器已连接到HDMI2,并且分辨率设置为1920x1080。
使用xrandr --setmonitor
命令添加2个虚拟监视器,以确保它们与您的物理显示器重叠并且彼此相邻放置。该命令的语法为(不带引号):
xrandr --setmonitor "monitor_name" "width_px"/"width_mm"x"height_px"/"height_mm"+"x_offset_px"+"y_offset_px" "output_name"
对于我的系统,它是:
xrandr --setmonitor HDMI2~1 960/254x1080/286+0+0 HDMI2
xrandr --setmonitor HDMI2~2 960/255x1080/286+960+0 none
尽管上面已经在我的系统上配置了虚拟监视器,但是直到我执行完之后才应用更改(它似乎刷新了xrandr):
xrandr --fb 1921x1080
xrandr --fb 1920x1080
要在重新启动后保留更改,您需要在登录时执行以下命令。您可以通过在~/.profile
文件末尾附加命令来实现。
我碰到了有关omgubuntu的文章,该文章提供了一种非常简单的方法,即使用Compiz控制面板在Ubuntu / Gnome中模拟Windows Snap功能。Windows Snap使我只能使用一个宽屏桌面,但是Windows本身可以轻松停靠以填充任一半屏。(这并不是我最初想要的,但仍然很方便。)
多年来,我一直在使用Triplehead2go来解决这些确切的问题。该设备将合并多达3个监视器,并将一个巨大的监视器报告给X。
这是在xorg.conf中将大型监视器拆分为虚拟工作区的方法:
Section "Device"
# ... your other settings above
Option "TwinViewXineramaInfoOverride" "1280x1024+0+0, 1280x1024+1280+1, 1280x1024+2560+0"
EndSection
并且,如果您使用的是最新的nvidia驱动程序,则这些驱动程序将提供其自己的xinerama扩展名,该扩展程序似乎忽略了上述设置,因此您必须在该设备部分中添加以下内容:
Option "NoTwinViewXineramaInfo" "true"