
関連文書システム化されたサプレッサロックそして男性systemd抑制何か(例:イベントhandle-lid-switch
)をブロックするため、特定の方法でプロセスを開始する方法の詳細な説明です。
そのような「ロック」/「禁止」/「ブロック」を削除する方法はありません。
質問:systemd-inhibit
メッセージなどでロックを解除する方法はありますかdbus
?
背景:サイレンサーロックを取り外すには何が必要ですか**
systemd-logind
私のラップトップには、カバーが閉じたときにラップトップを監視して一時停止するノートブックカバーを閉じるスイッチがあります。機能は「close-lid -> suspend
」です。
ノートブックをドッキングステーションに置いた後、ユーザーがより大きな画面を使用できるように、Gnomeのgsd-powerを任意に使用できます(そして 間違ってGnomeにはこれを変更できる設定はありません。)" "機能がclose-lid -> suspend
機能しないように抑制ロックを作成することにしました。
サプレッサロックを取り外す方法を知ると、Gnomeのgnome-setting-deamon電源によって誤った設定を修正できますgsd-power
。systemctl suspend
手動で一時停止を呼び出すのに実際に問題がないため、Gnomeの設定が正しくありません。
削除する阻害剤のロックは次のとおりですsystemd-inhibit --list
。
Who: alex (UID 1000/alex, PID 4248/gsd-power)
What: handle-lid-switch
Why: Multiple displays attached
Mode: block
答え1
Inhibit() は、ロックを含むファイル記述子である値を返します。ファイル記述子(およびすべてのコピー)が閉じられると、ロックは自動的に解放されます。ロックの取得中にクライアントが終了すると、カーネルは自動的にファイル記述子を閉じ、ロックは自動的に解放されます。このようにして実行された遅延ロックは、prepareForShutdown(true)が受信されるとすぐに(以下を参照)解放する必要がありますが、もちろん、アプリケーションが最初に遅延したタスクを望んでいたタスクを実行した後にのみ可能です。
killを望まないかもしれないので、gsd-power
ロックをカプセル化するファイル記述子を閉じる必要があります。によって開催される可能性が高いですgsd-power
。他のプロセスがファイル記述子の1つを強制的に閉じることは一般的なことではありませんgsd-power
。Stack Overflowでこの質問を読んでください。
gsd-power
代わりに、DBus操作を実行するための権限を削除してみてくださいorg.freedesktop.login1.inhibit-handle-lid-switch
。これマニュアルページdbus-daemon(1)
役に立つかもしれません。