44449f103bc1900b70b3218c00f1b54eaf2ef7b8
plasma-face-unlock
Face ID for KDE Plasma.
Unlock the lock screen, sudo and admin prompts with your face.
Install | How to use | Is it safe? | Report a bug
Install
Arch, CachyOS, EndeavourOS, Manjaro
yay -S plasma-face-unlock
Fedora
sudo curl -fsSL -o /etc/yum.repos.d/plasma-face-unlock.repo \
https://loonixtools.github.io/plasma-face-unlock/plasma-face-unlock.repo
sudo dnf install plasma-face-unlock
Debian, Kubuntu
codename="$(sed -n 's/^VERSION_CODENAME=//p' /etc/os-release)"
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://loonixtools.github.io/plasma-face-unlock/KEY.gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/plasma-face-unlock.gpg
echo "deb [signed-by=/etc/apt/keyrings/plasma-face-unlock.gpg] https://loonixtools.github.io/plasma-face-unlock/deb/$codename ./" \
| sudo tee /etc/apt/sources.list.d/plasma-face-unlock.list
sudo apt update && sudo apt install plasma-face-unlock
Needs Plasma 6 on Wayland and a camera. Updates come with your system updates.
How to use
plasma-face-unlock
Press 1 and look at the camera. Then lock the screen and look at it.
Is it safe?
A convenience, not extra security. A webcam only sees a flat picture.
| Photo or video on a phone, tablet or glossy screen | ✅ Stopped |
| Matte printed photo | ⚠️ Only stopped with photo check strict |
| Video of you on a big matte screen | ❌ Can get in |
| Five failed tries | ⏸️ Paused for 15 minutes |
| Your face data | 🔒 Numbers, no pictures. Root only. |
| sudo over SSH | 🚫 Never unlocked by a face |
More
How it works
plasma-face-unlockd |
The root service. Owns the camera and the face data. |
plasma-face-unlock-agent |
Runs in your session. Watches the lock screen, draws the bubble. |
pam_plasma_face_unlock.so |
Lets sudo and admin prompts ask the service. |
plasma-face-unlock |
The menu. |
Two small networks from the OpenCV model zoo run on the CPU: YuNet finds the face, SFace turns it
into numbers. All details: man plasma-face-unlock.
Build from source
make models
make
make test
sudo make install
Needs CMake, a C++20 compiler, Qt 6, LayerShellQt, KI18n, OpenCV 4.5.4+ (with DNN), Linux-PAM and libsystemd.
Credits
- Glance by Jonathan Zhou: the idea and the look of the bubble.
- YuNet and SFace from the OpenCV model zoo.
GPL-3.0-or-later.



