3

問題:

2 番目のモニター用に上部と下部の gnome パネルの追加セットがあります。lenovo Thinkpad (T510) をドッキング解除すると、余分な上部と下部のパネルが残るので、上部に 2 つ、下部に 2 つです。現在、xmonad (0.9.1-6.1.el6) がウィンドウ マネージャーとして設定された RHEL6/Fedora (x86_64) gnome (2.28.2) インスタンスを実行しており、xmonad 拡張機能を使用して gnome 内で動作しています。

試した:

私は acpi を使用し、ドッキングとドッキング解除のコードを見つけましたが、このブログ投稿で見つけたスクリプトを利用しようとすると、xrandr の呼び出しがゼロになります。スクリプトは、ターミナルから単独で呼び出されると機能します。独自のスレッドで別のループ スクリプトを呼び出してみましたが、画面が更新された後も、値がゼロになり続けます。

X秒ごとにスクリプトをループさせ、スクリプトがゼロになった場合に存在するファイルをチェックし、必要な変更を実行する方法を見つけましたが、そのアプローチは好きではありません。

質問:

参照されているスクリプトへの呼び出しをドロップして、スクリプトを手動で開始する必要なく、期待どおりにパネルを行き来させることができる場所を誰かが知っていることを願っています。

ありがとう!

更新: 回答に 50 (最大) の報奨金を追加しました。

ベン

4

1 に答える 1

1

以下にリストされている問題のいずれか (または両方) が発生していると思います。

1) $DISPLAY 環境変数が正しく設定されていないため、xrandr スニペットが適切な値を返さないようです。Acpi ハンドラー スクリプトは通常、現在の X セッションを実行しているユーザーではないユーザーとして実行されます。そうすれば、xrandr はどれ$DISPLAYにアクセスすればよいかわかりません。

2)$DISPLAYが正しく設定されている場合でも、acpid ユーザーは実行中の xsession にアクセスできない可能性があります。xhost +スクリプトで $DISPLAY を指定して現在の xsession を現在実行しているユーザーとして実行する場合、スクリプトが acpi ハンドラーで機能するかどうかを確認できます。これにより、X のアクセス制御が無効になりますxhost -。もう一度有効にすることができます。

それをチェックしてください、それが助けになるか、少なくともどの方向に掘るべきかを示すことを願っています.

于 2012-01-27T10:48:35.303 に答える