Finger Print reader support in lock screen
Compositor
- [x] niri
- [ ] Hyprland
- [ ] other
Description
With hyprlock I was able to use my fingerprint reader directly to unlock, with DankMaterialShell I have to type a letter, hit enter and then press my finger on the sensor.
I configured PAM in /etc/pam.d/login correctly, and it works in my shell, GDM and hyprlock.
I tried to look for related issues on Github and info in README.md
Ill have to check the quickshell discord since I think people have posted snippets there. However I don't have a fingerprint reader to test but I'll try it.
Feel free to ask if you need me to test anything!
Hey @bbedward thanks for this great shell for niri!! I also had messed around with getting a parallel fingerprint to unlock via using 2 pam context, and got it sort-of unlocking, but still having some issue to make it consistent.
I'm very new to qml so I'm not too sure what I'm doing most of the time haha. I think this PR from a different repo might be of help if you want to add fingerprint support.
https://github.com/caelestia-dots/shell/pull/429
Here's initial support attempt, I can't test it (as I dont have a fingerprint reader) - so prepare to swap TTYs and restart the session if it doesnt work.
If it doesn't work, the helpful thing to do would be to get logs.
dms kill
mkdir ~/dms_logs
nohup dms run > ~/dms_logs/dms-$(date +%s).txt 2>&1 &
Then lock the screen, and try to unlock, restar tsession, share the logs.
It may just work though, I Just cant test it as I said.
Works for me on a Framework laptop. Get a fingerprint icon next to the input box to indicate and session is unlocked as soon as I scan my fingerprint.
However, if I lock my screen and then try to unlock with a password rather than a fingerprint dms crashes.
Do you guys know any nice Linux compatible fingerprint reader? I'd love to add one to my laptop. Preferably a low profile one they just stays in a USB port (I'll check the log later)
Check this one 7bf7d0afae883a6d5f24508509e74fbfd1f905e5 for fixing password
Thanks for the effort @bbedward . Unfortunately with that change and after entering my password correctly - quickshell crashed without unlocking the session rather that after (as previously) so it's actually worse...
Fingerprint unlock by itself does work just fine though.
Hey, just tested the changes and it did not work while having Enable loginctl lock integration, however disabling this I can unlock with fingerprint and password successfully ony my Framework 16 laptop! Unlocking with password crashes DKMS after unlock though.
Here are the relevant logs:
quickshell.service.pam.subprocess: Waiting for parent confirmation...
quickshell.service.pam.subprocess: Starting pam session for user "luc" with config "fprint" in dir "/usr/share/quickshell/dms/assets/pam"
quickshell.service.pam.subprocess: Relaying pam message: "Place your finger on the fingerprint reader" echo: 1 error: 0 responseRequired: 0
quickshell.service.pam.subprocess: Waiting for parent confirmation...
quickshell.service.pam.subprocess: Starting pam session for user "luc" with config "login" in dir "/etc/pam.d"
quickshell.service.pam.subprocess: Relaying pam message: "Password: " echo: 0 error: 0 responseRequired: 1
quickshell.service.pam.subprocess: Got response for request.quickshell.service.pam.subprocess: Authenticated successfully.
amdgpu: The CS has been rejected, see dmesg for more information (-22).
ERROR go: quickshell exited: signal: aborted (core dumped)
So same as @herbiejhopkins but I did not get the stack traces for some reason.
Possibly this? 85f8e362e6022adecfb0759720e81c9f8c7224a8
Sorry for slow response. Tested with 0.3.2 and once again fingerprint unlock works just fine. Unlock with password results in crash before session is unlocked (get the Niri red screen before systemd restarts quickshell).