我对使用 Ubuntu 12.04 设置四显示器非常感兴趣。使用 Unity 可以实现吗?Nvidia X Server 是否会自动检测和配置所有 4 个显示器,从而使操作变得简单?
我到处挖掘了一些碎片信息,但不知道该如何理解。
答案1
四显示器当然是可行的,这是我的设置,由 2 个 NVidia 卡驱动(使用专有 NVidia 驱动程序):
虽然在我的特定设置中,我无法使 3D 加速工作,但据我记得,这更多的是要求旋转两个显示器而不是 4 个显示器。
另外,我没有使用 Unity,窗口管理器是 XMonad,我非常推荐这样的设置,除非您愿意花费数小时将窗口从一个监视器拖到另一个监视器并手动排列它们。
我使用自定义 xorg.conf 文件,因为我记得,我必须为每张卡指定单独的 PCI 总线 ID 才能使用它们 - 您可能更幸运,但通常设置多显示器机器是本书“高级”章节中的一项练习,不要指望完全即插即用*(请参阅下面的更新)。同样,就我而言,旋转显示器使问题变得有点复杂。
这是我的 xorg.conf:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" RightOf "Screen3"
Screen 1 "Screen1" 0 0
Screen 2 "Screen2" RightOf "Screen1"
Screen 3 "Screen3" RightOf "Screen2"
Option "Xinerama" "1"
EndSection
Section "Files"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor3"
VendorName "Unknown"
ModelName "SamsungSyncMaster"
HorizSync 30.0 - 84.0
VertRefresh 56.0 - 76.0
Option "DPMS"
Option "Rotate" "Left"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor2"
VendorName "Unknown"
ModelName "Dell 2007 WFP"
HorizSync 30.0 - 84.0
VertRefresh 56.0 - 76.0
Option "DPMS"
Option "Rotate" "Left"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "BENQ"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "BenQ FP222W"
HorizSync 30.0 - 84.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device3"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 210"
BusID "PCI:3:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8400 GS"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 210"
BusID "PCI:3:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8400 GS"
BusID "PCI:2:0:0"
Screen 0
EndSection
Section "Screen"
Identifier "Screen3"
Device "Device3"
Monitor "Monitor3"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "CRT: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
现在我很有信心可以插入另一张视频卡并将其扩展到 6 台显示器设置,但我觉得我脖子的灵活性有限,不允许我充分利用 6 台显示器 :)
* 2015 年中更新:最近,我不得不用装有 Kubuntu 15.04 的 USB 启动这台机器。我不得不说,令我惊讶的是,它识别并能够使用所有 4 个显示器,而无需任何手动设置(纵向)。旋转显示器不太管用,但进步仍然令人印象深刻 - 我很确定它以前只使用一两个显示器。所以我怀疑,如果您不想要纵向显示器,Kubuntu 可能开箱即用,无需任何调整。
答案2
我还能够设置四显示器。我确实使用了 Unity,尽管我只能使用 Unity 2d。设置并不完美,存在缺陷,但额外的屏幕空间让这些麻烦变得值得。
什么样的缺陷?每对显示器都被视为单个显示器。因此,点击最大化按钮会导致窗口跨越两个显示器而不是一个。此外,可以将窗口拖到边缘并使其填满半个屏幕的功能也坏了。有时候,如果我试图在显示器 3 或 4 上播放视频,视频会冻结,即使音频会继续播放。还有其他一些类似的故障。
设置过程非常痛苦!我花了几个小时翻阅博客文章并在这里搜索,最后才通过反复试验找到了解决办法。
正如 Sergey 所说,您必须使用专有的 NVidia 驱动程序。我不记得在哪里找到它们,但您无法使用自动安装的 nvidia 驱动程序来运行它。相信我,我试过了!然后您必须手动构建 xorg.conf,识别硬件并设置正确的设置。
遗憾的是,在 Ubuntu 10.x 时代,这其实相当容易……几乎是即插即用。这一切都在 11.04 中消失了。=( 从那时起,情况逐渐好转,但远非完美。