$ ps wafux | grep [x]autolock
user 21410 0.0 0.0 20124 2628 ? S Nov05 0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
$ xautolock -locknow
Could not locate a running xautolock.
別にスピンアップするxautolock
と動作します:
$ xautolock -time 10 -notify 30 -notifier "notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds'" -locker slock&
[2] 18828
$ ps wafux | grep [x]autolock
user 21410 0.0 0.0 20124 2628 ? S Nov05 0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
user 18828 0.0 0.0 20124 2708 pts/1 S 08:30 0:00 \_ xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
$ xautolock -locknow # Runs fine and locks the desktop
何が得られますか?
今では、デスクトップとラップトップの両方でこれを見てきました。ブートロック後少なくとも最初は正常に機能することに注意してください。何らかの未知の時間またはイベントが発生して初めて失敗します。
私がしているではない、確実にこれを再現することができました。つまり、ラップトップで次のアプローチを試しましたが、どちらの場合もスクリーンセーバーのショートカット/コマンドは実際にデスクトップをロックします:
- 蓋を閉める
- コンピューターが休止状態になるのを待ちます
- ふたを開ける
- 電源ボタンを押す
- ログインパスワードを入力し、続けて Enter
そして
- デスクトップをロックする
- 上記と同じ手順
コードのトレース:
- エラーメッセージを出力する行:
error1 ("Could not locate a running %s.\n", progName);
- それが起こる場合
messageToSend
truthyあるとtype != XA_INTEGER
次のステートメントで
type
設定されているように見えます:(void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False, AnyPropertyType, &type, &format, &nofItems, &after, (unsigned char**) &contents);
これは、実行xautolock
が検出されるかどうかがフォーカスされているウィンドウに依存することを意味しますか?また、この呼び出しがこの既知のバグに関連する可能性があるのではないかと思っています。
- -disable、-enable、-toggle、-exit、-locknow、-unlocknow、および-restartオプションは、Xサーバーへのアクセスに依存して動作します。これは、他のアプリケーションがすべてサーバーを取得した場合、それらが中断されることを意味します。
どちらも使用しているとxautolock
競合する可能性xss-lock
はありますslock
か?xautolock
上記の行に加えて、.xprofileにも次の行があります。
xss-lock slock &
との両方xautolock
をxss-lock
呼び出すことができるのでslock
、問題は次のようになると思われます。
xautolock
slock
10分間何も操作しないと実行されます。xss-lock
またslock
、10分後に実行しようとします。$ xset q | grep --after-context=2 --line-regexp --fixed-strings 'Screen Saver:' Screen Saver: prefer blanking: yes allow exposures: yes timeout: 600 cycle: 600
slock
実際に生成されるクライアントは1つだけです。xss-lock
間違って殺すslock
なり、xautolock
クラッシュしたり、あきらめを。
以来xss-lock
、ラップトップ、睡眠を検出することができ、私の代わりにそれを使用したいのですxautolock
が、私は作るように見えることはできませんxss-lock
で仕事をnotify-send
。
.xinitrc
:--user
サービスファイルに切り替えましたが、もう問題ではありません
stop-screensaver=no
こと~/.mpv/config
です。もちろん、これは、mpvでビデオを再生するときにロックを手動で無効にする必要があることを意味します。