実行時にシステムHandleLidSwitch設定を変更しますか?

実行時にシステムHandleLidSwitch設定を変更しますか?

設定は次のようにHandleLidSwitch定義されます/etc/systemd/logind.conf

HandleLidSwitch=<hibernate,ignore,...>

起動時に設定が正常に適用されます。ただし、AC状態に応じて実行時に設定を変更したいと思います。

私のラップトップが充電中の場合を使用し、ノートブックがHandleLidSwitch=ignoreバッテリーを使用している場合を使用します HandleLidSwitch=suspend

現在のsystemdでこれは可能ですか?

ベストアンサー1

ログインはサプレッサロックユーザーソフトウェアがシステムポリシーを無視できるようにするメカニズム。たとえば、Gnomeが有効になっている間、GnomeはすべてのACPIボタンとスイッチを制御できます。デバイスが接続されているときに「ハンドルカバースイッチ」を抑制し、プラグを抜くときにロックを解除するために使用できます。

最善のアプローチは、DBusバインディングを持つ言語でスクリプトを作成し、logindの方法を使用することですが、systemdはシェルスクリプトで使用できるコマンドをInhibit()提供します。systemd-inhibit子プロセスが終了するまでロックを保持するラッパーとして使用するためのものです。

systemd-inhibit --what=handle-lid-switch SOME_COMMAND_HERE

PSこれはすべて、「ノブ - ふた - スイッチ」がブロックされたデスクトップ環境を使用していないと仮定します。パラメータなしで実行すると、既存のsystemd-inhibit阻害剤が一覧表示されます。

おすすめ記事