web-dev-qa-db-ja.com

デフォルトのxrandr設定を設定する方法は?

Ubuntuでデュアルモニターを有効にしようとしています。これは正常に機能していますが、実行するたびにデスクトップ効果が無効になります。しかし、私はその理由を見つけたと思う:

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

GNOME XRandR構成方法と同様に、Virtualの値を大きすぎる値に設定すると、ハードウェアアクセラレーションが失われ、Compizとそのデスクトップ効果が使用できなくなる場合があります。

GNOMEモニターアプレット、または[システム]メニューの[モニター]構成を使用すると、デフォルトのxrandr設定により、2番目のモニターが最初のモニターの右側に配置され、ほとんどの場合 このバグ これにより、ネットブックハードウェアのハードウェアアクセラレーションに必要な最大2048水平解像度よりも大きな仮想デスクトップが作成されます。

そのため、xrandrのデフォルト設定を変更して、新しいデスクトップをメインLVDSディスプレイの上または下(北または南)に配置し、ハードウェアアクセラレーション、およびcompizが引き続き機能するようにすることができるようです。これを達成する最も簡単な方法は何ですか?

更新:

外部モニターディスプレイをメインLVDSディスプレイの北に移動すると、デスクトップエフェクトとハードウェアアクセラレーションによるマルチヘッドサポートが機能することを確認しました。現在、これには次のプロセスが含まれます:外部モニターの接続、モニター構成メニューの開始、デスクトップ効果は自動的に無効になり(ワークスペースのすべてのウィンドウは最初のワークスペースに移動されます)、外部ディスプレイを再配置してLVDSディスプレイの北にある[適用]をクリックし、[外観]メニューに移動して、デスクトップ効果を再度有効にするように指示します。これを行う簡単な方法はありますか?

更新2:

それでは、おそらくGNOMEモニターの構成画面が巧妙になろうとしていて、デスクトップ効果を無効にしているのではないかと考えました。したがって、次のように、代わりにxrandrコマンドラインクライアントを使用してみました。

xrandr --output VGA1 --above LVDS1

これを行っても、デスクトップ効果はまだ無効になっているため、手動で再度有効にする必要があります。これは、ハードウェアアクセラレーションが機能するという事実にもかかわらず、仮想ディスプレイの水平方向の寸法が大きすぎるためにハードウェアアクセラレーションが機能しなくなる点はありません。それでは、どのプログラムが賢くしようとしていて、必要のないときにデスクトップ効果をオフにしていますか?そして、どうすればそれを止めることができますか?

コマンドラインからデスクトップ効果を再度有効にする方法があり、それを適切なxrandr呼び出しとともにスクリプトに入れることができる場合、回避策としてそれを受け入れます。

更新3:

ここで、デスクトップエフェクトを備えた2番目のモニターを有効にするスクリプトを示します。それは悪かもしれません、私にはわかりません:

second-monitor.sh

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

スリープステートメントは不要な場合があります。

これを行うためのより良い方法があれば、私に知らせてください。

更新4:

これはDell 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- <MAbort- >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: <access denied>
    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- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    Region 0: Memory at f0b80000 (32-bit, non-prefetchable) [size=512K]
    Capabilities: <access denied>

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
17
jbeard4

それらを左から右にレイアウトするのはxrandrのデフォルトではなく、gnome-settings-daemonのデフォルトです。 gnome-settings-daemon 2.32以降では、最後の構成は、monitors.xmlからロードするだけです。そのため、垂直レイアウトを1回実行した場合、次回Compizを起動せずに自動的に選択します。

偶然10.04 Lucidを実行していますか?その場合、これらの指示に従って、gnome-settings-daemon 2.30.1でこの機能を有効にすることができます。

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

これがあなたのために働くかどうか私に知らせてください、私は記憶からステップを再現しました。また、この回答を更新できるように、追加の手順を実行する必要があるかどうかもお知らせください。

3
Timo Kluck

または、compizフュージョンアイコンを取得するだけで、compizをリロードする方法を簡単にクリックできます。どうもありがとう、同じ問題を抱えていましたが、compizをリロードすることは考えていませんでした。フュージョンアイコンで試してみました、出来上がり!キューブ、すべてが再び正常になりました。

1
user10818

「スマート」プログラムは、フォールバックウィンドウマネージャーにフォールバックするだけのcompizクラッシュではありませんか? compizコマンドは、問題のある設定を修正した後、3Dウィンドウマネージャーを再起動します。

スリープする代わりに、おそらく;(2番目のコマンドは最初のコマンドが終了することを期待する)でコマンドを連鎖させて、必要な効果を得ることができます。

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