如何设置默认的xrandr设置?

我正在尝试在Ubuntu中启用双显示器。 这工作正常,但每次我这样做,桌面效果都被禁用。 我想我找到了原因,但是:

https://wiki.ubuntu.com/X/Config/Multihead/

与GNOME XRandR配置方法一样,将Virtual设置为过大可能会导致硬件加速丢失,从而无法使用Compiz及其桌面效果。

当我使用GNOME监视器小程序或系统菜单中的监视器配置时,默认的xrandr设置将第二个监视器放在第一个监视器的右侧,正如我发现的那样,对于大多数监视器,这会创建一个更大的虚拟桌面比我的上网本硬件上硬件加速所需的最大2048水平分辨率。

因此,似乎我可以修改xrandr的默认设置,以便将新桌面置于主LVDS显示屏的上方或下方(北或南),然后是硬件加速,因此compiz将继续工作。 谁能告诉我,实现这一目标的最简单方法是什么?

更新:

我已经确认,当我将主外部监视器显示器移动到主LVDS显示器的北面时,桌面效果和硬件加速的多头支持可以正常工作。 现在,这涉及以下过程:插入外部显示器,启动监视器配置菜单,桌面效果自动禁用(我的工作区上的所有窗口都移动到第一个工作区),重新定位外部显示器,使其成为在LVDS的北面显示并单击“应用”,然后导航到“外观”菜单并告诉它重新启用桌面效果。 有更简单的方法吗?

更新2:

好吧,所以我想也许GNOME Monitors配置屏幕试图变得聪明,并且可能正在解开桌面效果。 所以,我只是尝试使用xrandr命令行客户端,如下所示:

xrandr --output VGA1 --above LVDS1 

当我这样做时,桌面效果仍然被禁用,我需要手动重新启用它们。 尽管硬件加速有效,但由于虚拟显示器的水平尺寸太大,硬件加速永远不会停止工作。 那么什么程序试图变得聪明,并在不需要时关闭桌面效果? 我怎么让它停下来?

如果有一种方法可以从命令行重新启用桌面效果,然后我可以将其与正确的xrandr调用一起放入脚本中,我会接受它作为一种解决方法。

更新3:

好的,这是我的脚本,用于启用具有桌面效果的第二台显示器。 它可能是邪恶的,我不确定:

second-monitor.sh

 xrandr --output VGA1 --above LVDS1 sleep 3 compiz --replace & 

睡眠声明可能没有必要。

如果有更好的方法,请告诉我。

更新4:

这是戴尔Mini Inspiron 1012。

这是我的系统规格:

lspci -vv

 00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller Subsystem: Dell Device 041a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 29 Region 0: Memory at f0b00000 (32-bit, non-prefetchable) [size=512K] Region 1: I/O ports at 18d0 [size=8] Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M] Region 3: Memory at f0900000 (32-bit, non-prefetchable) [size=1M] Capabilities:  Kernel driver in use: i915 Kernel modules: i915 00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller Subsystem: Dell Device 041a Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx- Latency: 0 Region 0: Memory at f0b80000 (32-bit, non-prefetchable) [size=512K] Capabilities:  

lsmod | grep i915

 i915 287458 2 drm_kms_helper 29329 1 i915 drm 162409 3 i915,drm_kms_helper intel_agp 24375 2 i915 i2c_algo_bit 5028 1 i915 video 17375 1 i915 

从左到右排列不是xrandr默认值,而是gnome-settings-daemon默认值。 从gnome-settings-daemon 2.32开始,最后一个配置应该只从monitors.xml加载; 所以如果你已经完成了一次垂直布局,那么下次它会自动选择它而不会踢出Compiz。

所以你有机会跑10.04 Lucid吗? 在这种情况下,您可以按照以下说明在gnome-settings-daemon 2.30.1中启用此function。

1)打开终端

2)获取来源:

 mkdir src cd src apt-get source gnome-settings-daemon 

3)编辑src / gnome-settings-daemon-2.30.1 / plugins / xrandr / gsd-xrandr-manager.c,在第1349行,更改

 #if 1 

 #if 0 

4)在终端中,安装构建依赖项:

 sudo apt-get install build-dep gnome-settings-daemon 

5)给你的包一个新的版本号:

 dch -i "enable monitor.xml default values" 

6)构建并安装你的包:

 debuild cd .. sudo dpkg -i gnome-settings-daemon*.deb 

如果这对您有用,请告诉我,我从记忆中重现了这些步骤。 另外,如果您必须执行额外步骤,请告诉我,以便我可以更新此答案。

或者您可以获得compiz fusion图标,它可以让您轻松点击重新加载compiz的方式。 非常感谢,有同样的问题,从未想过重新加载compiz,只是以为我将不得不忍受双模式。 刚尝试融合图标,瞧! 立方体,一切正常。

是不是“智能”程序只是一个compiz崩溃回落到后备窗口管理器? compiz命令在修复有问题的设置后重新启动3D窗口管理器。

而不是睡觉,你可能可以链接命令; (第二个期望第一个完成)获得想要的效果。

 xrandr --output VGA1 --above LVDS1 ; compiz --replace &