You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 23, 2021. It is now read-only.
After resuming from suspend/hibernate, the first authentication attempt fails unless backspace is pressed atleast once. Later attempts work normally. This is because stdin isn't flushed before the password is read, and systemd automatically uses /dev/null as stdin, which puts an EOF in the password field. A workaround is to set StandardInput=tty in the service file.
I'm using the following systemd unit to start physlock before suspend. OS is Arch, physlock version is physlock 13, and systemd version is 245.5-2-arch.
[Unit]
Description=Lock the session before suspending
Before=sleep.target
[Service]
User=%I
Type=forking
StandardInput=tty
TTYPath=/dev/tty7
ExecStart=/usr/bin/physlock -d
[Install]
WantedBy=sleep.target
The text was updated successfully, but these errors were encountered:
The bug seems to happen only if both a) the password prompt is running, and b) the system resumes from suspend/hibernate. One possible fix is to have two separate modes of operation - one to lock and another to unlock an already running physlock instance. This way, we can lock the system before suspend and then prompt only after resuming. I'm not sure how difficult this would be to implement, though.
I believe that would involve either changing the upstream misc_conv function (the password prompt) or writing a custom PAM conversation function that ignores EOF.
After resuming from suspend/hibernate, the first authentication attempt fails unless backspace is pressed atleast once. Later attempts work normally. This is because stdin isn't flushed before the password is read, and systemd automatically uses
/dev/null
as stdin, which puts an EOF in the password field. A workaround is to setStandardInput=tty
in the service file.I'm using the following systemd unit to start physlock before suspend. OS is Arch, physlock version is
physlock 13
, and systemd version is245.5-2-arch
.The text was updated successfully, but these errors were encountered: