Re: [i3] Detecting screen locked

  • From: Jeff Abrahamson <jeff@xxxxxxxxxx>
  • To: "Discussions/Questions about the i3 window manager" <i3-discuss@xxxxxxxxxxxxx>
  • Date: Fri, 17 Apr 2015 09:56:10 +0200

I invoke i3lock at the commandline thus:

[S-18]jeff@siegfried:gtd $ strace -o/tmp/i3lock-log-$(date +%s) -f -s 2048
-tt i3lock --dpms --inactivity-timeout 10 --color=220022
[S-18]jeff@siegfried:gtd $

and the result is that i3lock does not recognize my password. It does echo
my typing, it just always says fail. I switch to a vt, login, and kill it.

Jeff Abrahamson
+33 6 24 40 01 57
+44 7920 594 255 <-- only if I'm in the UK

http://jeff.purple.com/
http://blog.purple.com/jeff/

On 17 April 2015 at 09:39, Michael Stapelberg <michael@xxxxxxxx> wrote:

Yes, but also use -f (to follow child processes) and -s 2048 (to increase
the size of strings) and -tt (to get timing).

On Fri, Apr 17, 2015 at 9:23 AM, Jeff Abrahamson <jeff@xxxxxxxxxx> wrote:

Sure thing.

Just to be clear, do you mean that instead of launching "i3lock .." I
substitute "strace -o/tmp/i3lock-log-$(date +%s) i3lock ..."?

Jeff Abrahamson
+33 6 24 40 01 57
+44 7920 594 255 <-- only if I'm in the UK

http://jeff.purple.com/
http://blog.purple.com/jeff/

On 17 April 2015 at 09:19, Michael Stapelberg <michael@xxxxxxxx> wrote:

i3lock shouldn’t hang around. Can you start stracing all your i3lock
instances automatically and provide the corresponding strace output of a
hung instance in a bugreport?

On Fri, Apr 17, 2015 at 9:04 AM, Jeff Abrahamson <jeff@xxxxxxxxxx>
wrote:

I have a maintenance function that ought not bother spinning the CPU if
the screen is locked. It checks this thus:

if pidof i3lock >/dev/null; then
...

This is i3-specific, which is sad, but not a huge problem. What is a
problem is that i3lock sometimes hangs around even though I think it should
exit on unlock. And, indeed, most of the time it does exit on unlock.
Once in a while, I find I have one or even several i3lock processes hanging
around.

I either lock my screen explicitly

bindsym $mod+Control+L exec i3lock --dpms --inactivity-timeout 10
--color=220022

or else it's done by inactivity

xautolock -detectsleep \
-time 3 -locker "i3lock --dpms --color=220022 --inactivity-timeout
10 --nofork"

This question thus has two parts:

1. Am I doing something wrong that I sometimes have multiple i3lock
instances?
2. Is there a better way to detect screen lock than pidof i3lock?

Jeff Abrahamson
+33 6 24 40 01 57
+44 7920 594 255 <-- only if I'm in the UK

http://jeff.purple.com/
http://blog.purple.com/jeff/




--
Best regards,
Michael





--
Best regards,
Michael

Other related posts: