Lubuntu/Xubuntu 上的双显示解决方案(ARandR 除外)?

Lubuntu/Xubuntu 上的双显示解决方案(ARandR 除外)?

我想要实现的是在 Lubuntu 或 Xubuntu 上优雅地使用我的两个屏幕。优雅意味着:1) 在与ubuntu-desktop(常见的 Unity Ubuntu)或 Windows 相同的扩展显示模式下工作,或 2) 其他一些解决方法,将我的 LXDE 或 XFCE 桌面限制在一个屏幕上,并在另一个屏幕上看到其他内容(例如 TTY 或 xterm)。

故事如下...


这是一台旧的 DELL LATITUDE D600 笔记本电脑。它有一个 1024x768 LCD 和一个 VGA 输出。

我在这台笔记本电脑上安装了 Xubuntu 12.04 LTS,后来通过安装lubuntu-desktop和删除大多数 XFCE 软件包更改为 LXDE。
现在它有lightdm(带有unity-greeter)和 LXDE。

当我将辅助屏幕连接到笔记本电脑的 VGA 输出时,无论我是在 TTY、unity-greeter还是 LXDE 桌面上,这两个屏幕都会以镜像模式工作。
这种行为与我之前在其他笔记本电脑上的体验不同。在那台笔记本电脑上,我曾经安装过 Ubuntu 12.04 LTS、Ubuntu 13.10 和 Ubuntu 14.04 LTS。TTY 通常只显示在外部屏幕上,并且unity-greeter应该在扩展模式下工作,其中登录对话框只显示在其中一个屏幕上,而另一个屏幕上只显示 Ubuntu 图标以及欢迎界面的壁纸。

且不说这里的不同行为,我发现 XFCE 和 LXDE 都没有内置对扩展模式的支持。因此我想知道我上面观察到的行为是依赖于笔记本电脑还是实际上依赖于发行版。

ubuntu-desktop在 Google 上看了很多文章后,我了解了 ARandR。但是 ARandR 操作起来不太优雅,而且看起来也和 Ubuntu或 Windows中的双屏解决方案不一样。当我使用Print Screen按键截屏时,我得到了这样的结果:

使用 ARandR 清空桌面

看起来正常吗?一点也不。由于我的外接显示器是 1024x1280(垂直放置的 1280x1024 LCD),所以两个屏幕放在一起时实际上并不形成矩形。如果我在两个屏幕上最大化两个窗口,屏幕截图将如下所示:

使用 ARandR 最大化两个窗口

右上角在任何屏幕上都看不到。这就是为什么我说 ARandR 不够优雅,并且与 Ubuntuubuntu-desktop和 Windows 中的扩展模式不同。如果您从未见过ubuntu-desktop或 Windows 中的扩展模式,我可以稍后为它们发布一张图片。

最大的问题是,虽然我无法将光标移动到 ARandR 桌面的不存在区域(例如屏幕截图中的右上角),但桌面会呈现在整个矩形区域上。这意味着,如果我的两个屏幕的底线不是同一垂直坐标(即如果我的屏幕没有对齐到底部),我将失去一半的任务栏(取决于哪个屏幕的位置更高)!

另外,我发现在垂直外屏上,所有东西的显示都非常慢。例如,当我打开 Firefox 时,首先是窗口的框架和空白页上下闪烁,然后是新标签页的内容以同样的方式显示……但在笔记本电脑屏幕上,一切显示正常。


故事结束。我的目标请参考第一段。两个目标中,只要达成一个就够了。

我读过这篇文章:https://superuser.com/questions/562657/x-on-one-monitor-a-bare-tty-terminal-on-another-linux在一个显示器上使用 xterm,同时在另一个显示器上运行桌面。但是,xsetroot -display :0.1 -solid darkblue失败了,因为“无法打开显示器 :0.1”。

输出xrandr --query

Screen 0: minimum 320 x 200, current 2048 x 1280, maximum 4096 x 4096
VGA-0 connected 1024x1280+0+0 left (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024      60.0*+   75.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
DVI-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x768+1024+512 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0*+
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  
S-video disconnected (normal left inverted right x axis y axis)

:0我真的不知道如何使用或:0.0等数字来识别我的两个屏幕。

答案1

您的要求完全合理且明智,我希望我知道有关 X 配置的所有细节,以便告诉您如何配置。基本上,您拥有的是一个 X 显示服务器中的一个屏幕,而您想要的是两个服务器或一个服务器中的两个“屏幕”。无论哪种情况,都需要您设置 X 服务器配置;即所谓的 /etc/X11/xorg.conf。

在 X land 中,您有格式为“host:display.screen”的名称,它指的是程序如何进行输出的软件结构,而实际的物理输出称为“监视器”,它通过“Heads”与屏幕绑定。因此,在您的例子中,您有一个带有两个监视器(VGA-0 和 LVDS)的单个屏幕“localhost:0.0”。大多数情况下,监视器、Heads、屏幕、显示器和主机之间存在奇异性,一切都很简单,但您的情况并非如此。

恐怕没有捷径可走,因为您需要了解如何配置 X。本质上:首先,在没有 /etc/X11/xorg.conf 的情况下,通过进入控制台模式、终止 X,然后使用将配置写入文件的特殊命令行启动 X,获取 X 服务器使用的默认配置。接下来,通过添加 Screen 节来编辑该文件,并将每个屏幕绑定到其自己的头部。

也许这个非常简短的提纲能帮助你继续前进。我没时间了。

相关内容