Ubuntu 12.04 上的双显示器对齐

syn*_*tik 16 multiple-monitors 12.04

我在笔记本电脑上的笔记本电脑上运行 Ubuntu 12.04,带有双显示器(两个都是外部的),设置如下所示(显示器 1 是主显示器,显示器 2 旋转了 90 度)。

   1680x1050      1920x1080

                  _________
                 |-->      |
                 |         |
                 |         |
 _____________   |    2    |
|          -->|  |         |
|             |  |         |
|      1      |  |         |
|_____________|  |_________|
Run Code Online (Sandbox Code Playgroud)

在上图中,沿着监视器 1 中的箭头移动指针将导致指针出现在监视器 2 中监视器 2 中箭头所描绘的位置。因此,我的桌面在两个监视器的顶部对齐。

这不是我想要的。我希望监视器 1 保持主要状态,以便菜单栏(使用 gnome-session-fallback)位于监视器 1 的顶部,但我希望监视器 1 和 2 的底部对齐。换句话说,我想要如下所示的设置:

   1680x1050      1920x1080

                  _________
                 |         |
                 |         |
                 |         |
 _____________   |    2    |
|          -->|  |-->      |
|             |  |         |
|      1      |  |         |
|_____________|  |_________|
Run Code Online (Sandbox Code Playgroud)

转到应用程序 > 系统工具 > 系统设置 > 显示,我看到以下内容:

显示设置

我的问题的一个明显明显的解决方案是简单地在“显示”设置中拖动显示器,使它们沿着底部对齐。但是,这会导致不良行为。特别是,这会导致监视器 1 的感知区域扩大,大概是监视器 1 的高度和监视器 2 的高度之间的差异(旋转后,即,如我上面的插图所示)。也就是说,在尝试了这个解决方案后,我的电脑认为我的显示器如下:

  1680x(1920?)    1920x1080

 _____________    _________
|          -->|  |-->      |
|             |  |         |
|             |  |         |
|_____________|  |         |
|             |  |         |
                 |         |
|    FALSE    |  |         |
                 |         |
|_  _  _  _  _|  |_________|
Run Code Online (Sandbox Code Playgroud)

因此,放置在“FALSE”区域中的任何内容都是不可见的,因为监视器实际上并没有大到足以显示该区域。例如,如果我使用配置为 Conky 显示出现在桌面左下角的设置运行 Conky,则 Conky 将不会出现,因为它位于 FALSE 区域。此外,如果我反复向桌面添加项目或快捷方式,最终一个项目将被放置在 FALSE 区域中(因为默认情况下,一个项目被放置在桌面上的未占用位置)。

知道如何在这里实现我想要的吗?(例如,当指针从监视器 1 传递到监视器 2 时,是否有某种方法可以将指针垂直“撞击”指定数量的像素,反之亦然?)

小智 8

你试过arandr吗?它是 xrandr 的 GUI,非常适合使用多个显示器/分辨率。

sudo aptitude install arandr
Run Code Online (Sandbox Code Playgroud)

之后就可以看到界面了。使用绿色勾号按钮,您可以应用当前的屏幕布局,也可以将其应用到一个文件,该文件基本上包含一个 xrandr 命令,以便在需要时执行它,例如在系统启动时。

在此处输入图片说明


小智 7

您可以使用建议的 xrandr 命令的 --pos 选项轻松设置两个屏幕的所需位置。

在您的情况下,这将类似于:

xrandr --output LVDS1 --mode 1680x1050 --auto --output VGA1 --mode 1920x1080 --rotate right --pos 1680x0
Run Code Online (Sandbox Code Playgroud)

对于我非常相似的设置,这会在 gnome-shell 的两个屏幕中的任何一个中创建两个热角。虽然不知道回退环境。

请注意,您必须根据 command 返回的标识符调整“--output”标识符xrandr | grep connected


xrandr --output $1 --mode 1680x1050 --primary --auto --pos 0x240 --output $2 --mode 1920x1080 --rotate right --pos 1680x0
Run Code Online (Sandbox Code Playgroud)

这应该是正确的命令。将您的桌面想象成尺寸为 2730x1920 的巨大统一图片。主显示器(由--primary选项中的第一个显示器配置定义,并且不必是第一个显示器配置)位于顶部下方 240 像素处,以与底部的第二个显示器对齐。而不是--pos 1680x0第二个监视器也可以与--right-of选项对齐。当然,您需要用 Nix 提到的连接的正确名称替换$1$2

使用此设置,当配置为左下角对齐时,Conky 应正确显示,因为此空间现在可见。当它与左上角对齐时,您需要在本例中添加 240 像素的间距。带有桌面快捷方式的部分听起来像是一个错误。我建议不要使用太多桌面快捷方式或根本不使用它们。:)

您也可以将--mode选项排除在外,因为--auto已经这样做了。