当前位置: 首页>>技术教程>>正文


如何在Ubuntu/Gnome上将宽屏垂直拆分为两个虚拟工作区?

, , ,

问题描述

我的新笔记本电脑有一个16:9的大屏幕,我发现在95%的时间内我没有在上面观看高清电影时,很难充分利用它。

我想通过将物理屏幕拆分为两个工作区来将其设置为一种虚拟双屏幕。我知道我可以手动安排窗口,但是我希望能够最大化一个窗口,使其只消耗一半的监视器,并且将弹出对话框的中心放在其half-screen上,这是一件好事。

是否有某种插件可以做到这一点?

最佳回答

您可以使用“ 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”的技巧,以下正是我如何使其适用于我的方法:

  1. 我从Fake Xinerama site下载了this Xinerama.c file

  2. 我打开一个终端,然后导航到保存Xinerama.c的文件夹文件夹。

  3. 我执行了:gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared

  4. 我以根用户身份打开Nautilus(gnome文件浏览器),方法是输入Alt-F2,然后输入:gksu nautilus

  5. 我导航到/usr /lib,找到libXinerama.so.1.0.0并对其进行了备份。

  6. 我从下载目录中将libXinerama.so.1.0.0复制到了/usr /lib目录中,覆盖了该副本(我在第5步中刚刚备份了该副本,因此以后可以根据需要撤消此操作。)事情很清楚,有一点要注意,”fake”版本的文件大小(12.6 kb)比我要替换的”real”版本的文件大小(8.6 kb)大。

  7. 我在/home /dave目录中创建了一个名为.fakexinerama的新文本文件,并将其放入其中:(基于1440×900的物理屏幕尺寸)2
    0 0 720 900
    720 0 720 900

Fake Xinerama允许您定义所需的任何类型的虚拟屏幕设置,但我只需要垂直分割屏幕。为了在显示器上实现这一点,请看我的文件示例,将X乘以Y像素,将X /2替换为720,将Y替换为900。

而已。我注销并重新登录,然后启动并运行。

再次感谢Lubos Lunak创建了这个mod,并感谢akira向我指出了它。

第三种回答

现在有一个名为FakeXRandR的新项目,可以直接进行。

This is a tool to cheat an X11 server to believe that there are more monitors than there actually are. It hooks into libXRandR and libXinerama and replaces certain, configurable monitor configurations with multiple virtual monitors. A tool that comes with this package can be used to configure how monitors are split.

第四种回答

无需其他软件即可在XRandR 1.5中完成。虽然fakexinerama和FakeXRandR都没有在Xubuntu上为我工作,但此解决方案最终将屏幕分成了两部分。

要拆分监视器,请执行以下操作:

  1. 在终端中输入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,并且分辨率设置为1920×1080。

  2. 使用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
    
  3. 尽管上面已经在我的系统上配置了虚拟监视器,但是直到我执行完之后才应用更改(它似乎刷新了xrandr):

    xrandr --fb 1921x1080
    xrandr --fb 1920x1080
    

要在重新启动后保留更改,您需要在登录时执行以下命令。您可以通过在~/.profile文件末尾附加命令来实现。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11138.html,未经允许,请勿转载。