11

In systems where the fingerprint scanner works, you can enable sudo authentication in the terminal, so that you can swipe your finger instead of typing your password when you issue "sudo" in terminal.

You can enable this by enabling "Fingerprint authentication" on pam-auth-update (by issuing "sudo pam-auth-update").

This works fine, although it is now always convenient to move your hand from the keyboard to the fingerprint scanner when typing. But it works as expected.

The problem starts when the laptop is docked or otherwise with the lid closed with external keyboard and the fingerprint scanner unreachable.

What happens is that when you type a sudo command, it prompts you to scan your finger, which of course you cannot, so you have to wait for the prompt to time out.

And here is the question. Is there a way to escape the timeout so that you can type the password right away? So, for instance you type the sudo command, you get the prompt, hit Esc, prompt goes, then you type the password.

Waiting for that prompt to time out is really annoying, whether you type on the laptop and you don't want to move your hand to the scanner, or when you type on an external keyboard and have no access to the scanner.

Thank you.

P.S. Currently I have to enable/disable it from pam-auth-update every time I change from dock to lap.

1
  • This isn't a complete solution but you can at least reduce the timeout to something shorter than the default 10 secs as suggested here. FWIW, I agree that it would be ideal to be able to hit Esc in the same use-case as you describe.
    – sxc731
    Jun 23, 2020 at 13:23

3 Answers 3

3

Looks like Ctrl+C for interruption was recently implemented in fprint since version 1.92.

0

After a bit of digging I found the following reasoning for this not being possible on an old fprint launchpad project page, which I assume still holds true:

  1. No fingerprint and password at the same time

At the moment, you cannot type in your password right away when you are asked for fingerprint. You need to make the fingerprint authentication fail first (swipe wrong finger or let it time out) before you are asked for password. This is a limitation of PAM because its modules mustn't be threaded and hence cannot support multiple means of authentication at the same time.

-1

I have the same problem, the only ""solution"" I've found is the following:

  • run a sudo command
  • when prompted for fingerprint, stop the fingerprint foreground check with ctrl+z
  • rerun the sudo command (arrow up and enter works fine)
  • it should now be "hanging" without any output
  • immediately cancel with ctrl+c
  • the command should now skip directly at the password input

Here is a screenshot of what it looks like:

process screenshot

It's still a bit annoying but at least you don't have to wait for anything to happen on its own. Hopefully, somebody will come out with a more elegant solution.

4
  • 1
    Thanks, it works. Not the best solution, but A solution. Thanks. I'm a bid disappointed that changing the timeout in /etc/pam.d/common-auth from 10 to (e.g) 3 makes no difference. I could live with 3 seconds, but 10 is just too many. Oct 28, 2020 at 17:42
  • @AlexKambas Perhaps this link answers your issue on changing timeout? askubuntu.com/a/979822/2361
    – Aputsiak
    Jan 25, 2021 at 10:43
  • @Aputsiak Thanks for the heads up. This is not a bad workaround, since you avoid sudo looking for the fingerprint. I have worked around this by having the laptop checking if docked or not and replacing pam-auth with a version without the fingerprint. My main problem with the solution in that post is that changing the timeout from 10 to 3 has no effect. Thanks. Feb 1, 2021 at 21:42
  • @AlexKambas I looked into the timeout issue and as I suspected there is a minimum timeout of 10 secs hardcoded so 3 secs is not possible: cgit.freedesktop.org/libfprint/fprintd/tree/pam/…
    – Cas
    Apr 28, 2021 at 21:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .