我使用的是 Ubuntu 14.04 和 Unity。我有两个 X 屏幕,分别位于不同的显卡上。我认为这两个屏幕是:0.0
和:0.1
。
问题是,在启动时,只有我的主屏幕有一个窗口管理器,上面有 Unity/compiz。
我尝试了以下方法:
DISPLAY=:0.1 compiz --replace &
其效果是删除主显示器上的所有窗口装饰,并删除 Unity 启动器。此外,所有键盘输入都会永久定向到我的第二个显示器!
DISPLAY=:0.0 metacity --replace &
在第二个显示器上能够恢复功能,两个显示器都可以运行,但没有 Unity,并且第二个显示器上也没有窗口装饰。
我尝试了:0.0
、:0.1
和unity
metacity
gnome-wm
的几种组合compiz
,--replace
但找不到任何可行的方法。我需要的是两个显示器都有一个窗口管理器,并在主显示器上启用合成。
附言:
我决定使用 2 个 X-screens,因为显示器由两个不同的 Nvidia 显卡驱动,所以据我所知合成需要单独的 X-screens。
我以前曾成功使用gnome-classic
+ Xinerama
,它允许单个大型 X 屏幕覆盖两个显示器,但没有合成。
附言
我的/etc/X11/xorg.conf
有:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1920 0
Screen 1 "Screen1" LeftOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
和
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DVI-I-1: nvidia-auto-select +1080+0 {rotation=left}"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
其中Device0
是 a"Quadro FX 580"
且Device1
是 a "GeForce 8600 GT"
。
答案1
我认为您无法在两个 X 服务器上同时、在同一用户上运行同一个窗口管理器。至少对于大多数功能丰富的 wms 来说,您无法做到这一点。
尝试运行xfwm4
(XFCE 窗口管理器)作为辅助窗口管理器。
xmonad
附言:我记得以前在双卡 ATI 配置上使用启用了合成功能的 Xinerama 玩得很开心,因此如果您使用>=3
显示器,我建议您继续尝试一下。
答案2
你需要为此,Xinerama。
这两个显卡是什么?它们是否足够接近,以至于你可以为它们运行相同的驱动程序,或者运行完全不同的驱动程序?
例如,在我现在使用的机器上,两块不同的卡上有 3 个屏幕:
03:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K620] (rev a2)
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series]
只要我使用 Nouveau FOSS 驱动程序,它就可以正常工作,并且我已经在两者上加速了 X.org。