web-dev-qa-db-ja.com

デスクトップ環境またはセッションマネージャーを使用せずに、セッションがアイドル状態ではないことをsystemd-logindに通知するにはどうすればよいですか?

電源管理にlogindを使用したい。 30分間操作がない場合、コンピューターを一時停止します。

問題は、現在、マウスとキーボードを使用している場合でも、30分後に一時停止することです。私のlogind.conf

[Login]
HandlePowerKey=suspend
IdleAction=suspend
IdleActionSec=30min

私のUbuntu15.04のセットアップは非常に最小限であり、そのままにしておきたいと思います。コンソールでログインし(セッションマネージャーは必要ありません)、startxと入力すると、~/.xinitrcが起動してi3を実行します。これは私の好みのウィンドウマネージャーです。デスクトップ環境を使いたくない。

一定時間後にコンピューターを一時停止してロックしたい。

したがって、私の~/.config/i3/configファイルには次のものが含まれます。

exec "xss-lock -- i3lock -c 000000"

スクリーンロッカーは正常に動作し、正常に統合されます。だから問題はありません。

興味がある場合:

loginctl show-seat -p IdleHint

収量:

IdleHint=yes

私が活動しているなら、それは「ノー」であるべきだと思いますよね?

そして私がこれを行う場合:

gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1/session/c1 --method org.freedesktop.login1.Session.SetIdleHint false

またはこれ:

dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1/session/c1 "org.freedesktop.login1.Session.SetIdleHint" boolean:false

IdleHintを読み取ると、「IdleHint = yes」が出力されます。

だから私は何が欠けていますか?セッションマネージャやデスクトップ環境を使用せずに、アクティブなときにsystemd-logindが中断しないようにするにはどうすればよいですか?

たとえば、lxqt-powermanagementを使用できることは知っていますが、これは不要であると想定するのは正しいと思います。もちろん、デスクトップ環境に関する個人的な好みを変更することはできますが、必要に応じて変更します。ただし、この問題は解決できるようです。

7
jdbow75

悲しいことに、答えがないということは、答えがないことを意味するかもしれません。でも、間違って幸せです!

同じことを研究しているかもしれない人のために、私はついに洞窟に入り、セッションマネージャーを使用しています。具体的には、sddmです。現在、すべてが正常に機能しているように見えます。セッションマネージャーは実際にはそれほど肥大化しておらず、ほとんど邪魔になりません。

5
jdbow75