レノボドッキングとLinuxのディスプレイを自動的に切り替える


8

私はnvidia optimusとミニドッキングステーションシリーズ3を備えたlenovo thinkpadを持っています。

ドッキングしている間、可能であれば自動的に外部モニターに切り替わり、ドッキングを解除すると自動的にthinkpad lcdに切り替わります。

暗号化されたディスク(dm-crypt)のパスワードを入力する必要があるため、これはブートステージでも機能するはずです。

私は以下を試しましたが、うまくいきません:

次の行を含むファイル/etc/acpi/thinkpad-undock.sh(+ chmod a+x thinkpad-undock.sh)を作成しました。

#!/bin/sh
xrandr --output LVDS-1 --auto --output DP-5.8 --off

そしてまた /etc/acpi/thinkpad-dock.sh

#!/bin/sh
prime-select nvidia # ensures that nvidia card is selected
xrandr --output LVDS-1 --off --output DP-5.8 --auto

そして再びchmod a+x thinkpad-dock.sh

両方のスクリプトの実行は手動で機能します。

イベントを処理するために2つのファイルを作成しました。

thinkpad-dock-lenovo

event=ibm/hotkey LEN0068:00 00000080 00004010
action=/etc/acpi/thinkpad-dock.sh

そしてまた thinkpad-undock-lenovo

event=ibm/hotkey LEN0068:00 00000080 00004011
action=/etc/acpi/thinkpad-undock.sh

次に、acpiデーモンをでリロードしました/etc/init.d/acpid reload。ただし、ラップトップをドッキングまたはドッキング解除しても、何も起こりません。

上記のイベント番号を取得するには、acpi_listenラップトップを実行してからドッキングおよびドッキング解除します。

それを機能させる方法についてのアイデアはありますか?

たぶん、問題はkdeなどのデスクトップ環境で解決されますが、私はxmonadを使用していますが、上記のように、デスクトップ環境とは関係なく、ブートステージでも機能するはずです。

カーネルバージョン4.4.0-22でubuntu 16.04を実行しています。

以下のようにudevルールも追加しようとしましたが、うまくいきませんでした:

ENV{EVENT}=="undock", KERNEL=="dock.0", SUBSYSTEM=="platform", RUN+="disper -s"
ENV{EVENT}=="dock", KERNEL=="dock.0", SUBSYSTEM=="platform", RUN+="disper -s"

dockラップトップがドッキングされているかどうかに関係なく、ファイルの値が常に0であることに気づきました。

回答:


0

スクリプトはDISPLAY環境変数を設定しません。次のようになります。

#!/bin/sh
export DISPLAY=:0
xrandr --output LVDS-1 --auto --output DP-5.8 --off

ありがとう。試してみましたが動作しません。また、スクリプトを直接実行すると(exportステートメントの有無にかかわらず)機能するため、これが間違いである理由もわかりません。私はむしろ、スクリプトがacpidによって実行されていないことを推測します。
学生

0

私は両方を設定して運を持っていたDISPLAYし、XAUTHORITY例えば、だけでなく、小さな睡眠を追加します

export DISPLAY=:0
export XAUTHORITY=/home/user/.Xauthority
sleep 3
xrandr ...

0

私も同様の設定をしていますが、ドックに反応する解決策を追いかけたことはありません。面白いですね。

代わりに、Gnomeのディスプレイマネージャーを使用してLCDディスプレイを「オフ」に設定し、外部ディスプレイをプライマリディスプレイに設定します。このようにしてラップトップをドックに置くと、外部ディスプレイに切り替わります。持ち上げると、LCDに戻ります。

これをコンソールに置く(dm-cryptインストールを起動する)こともできますが、ニュアンスがあります。蓋が閉じている場合は、ラップトップをドックにセットして電源を入れます。外部ディスプレイ(BIOS画面を含むすべてのもの)が自動的に起動します。ふたが開いている場合は、GDMにログインした後にのみ交換されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.