OpenRung
A free, privacy-first relay network that helps you reach the open internet. Open source and nonprofit-run.
翻訳待ち
Facial authentication for Linux
翻訳待ち
セキュリティRust · JavaScriptGitHub @GunduLabs自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Facial authentication for Linux
Documentation · Install · Development
[!NOTE] Gaze includes local liveness anti-spoofing checks and supports infrared (IR) cameras. In high-security environments, we recommend keeping your usual system authentication enabled as a fallback.
Facial authentication for Linux with on-device face recognition, PAM integration, and tools for login, lock screen, sudo, and desktop management.
curl -fsSL https://gaze.gundulabs.com/install.sh | sh
The installer sets up the Gaze daemon, CLI, and GUI. On openSUSE Tumbleweed (x86_64), it uses the native zypper package manager and Gaze's Tumbleweed-specific RPM repository.
It chooses desktop integration based on your session: GNOME gets the GNOME Shell extension, Cinnamon gets gaze-cinnamon-extension, KDE Plasma gets gaze-kde, and Quickshell Omarchy gets gaze-omarchy. On other desktops, the installer skips desktop extensions rather than pulling in GNOME Shell.
If you installed the GNOME extension manually, or the installer could not enable it automatically, reboot first so GNOME Shell can scan the new extension. Then, from your GNOME session, run:
gnome-extensions enable [email protected]
gsettings set org.gnome.shell.extensions.gaze enable-face-authentication true
If you run
gnome-extensions enablebefore rebooting, it reportsExtension "[email protected]" does not exist. GNOME Shell scans extension directories only when a session starts and drops IDs it has not scanned. As a result, enabling the extension before reboot can appear to work but disappear at your next logout. To avoid this, reboot before running the commands above.gaze doctorcan detect the issue and prints the same steps.
Debian / Ubuntu
Each apt suite carries only the builds for that release: noble (Ubuntu 24.04), questing (Ubuntu 25.10), resolute (Ubuntu 26.04), stonking (Ubuntu 26.10), trixie (Debian 13), forky (Debian 14, testing).
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://packages.gundulabs.com/keys/gundulabs-repo.gpg \
| sudo tee /usr/share/keyrings/gundulabs-archive-keyring.gpg >/dev/null
suite="$(. /etc/os-release && echo "${VERSION_CODENAME:-$UBUNTU_CODENAME}")"
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/gundulabs-archive-keyring.gpg] https://packages.gundulabs.com/deb $suite main" \
| sudo tee /etc/apt/sources.list.d/gundulabs.list >/dev/null
sudo apt update
sudo apt install gaze gaze-gui
Fedora and compatible DNF systems
sudo rpm --import https://packages.gundulabs.com/keys/gundulabs-repo.asc
sudo tee /etc/yum.repos.d/gundulabs.repo >/dev/null <<'EOF'
[gundulabs]
name=Gundu Labs
baseurl=https://packages.gundulabs.com/rpm/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.gundulabs.com/keys/gundulabs-repo.asc
EOF
sudo dnf makecache
sudo dnf install gaze gaze-gui
Fedora OSTree (Silverblue / Bazzite / Kinoite)
sudo tee /etc/yum.repos.d/gundulabs.repo >/dev/null <<'EOF'
[gundulabs]
name=Gundu Labs
baseurl=https://packages.gundulabs.com/rpm/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.gundulabs.com/keys/gundulabs-repo.asc
EOF
sudo rpm-ostree install gaze gaze-gui
Fedora via Copr (alternative to the repository above; do not enable both)
sudo dnf install dnf-plugins-core
sudo dnf copr enable gundulabs/gaze
sudo dnf install gaze gaze-gui
openSUSE Tumbleweed (x86_64)
sudo rpm --import https://packages.gundulabs.com/keys/gundulabs-repo.asc
sudo tee /etc/zypp/repos.d/gundulabs.repo >/dev/null <<'EOF'
[gundulabs]
name=Gundu Labs
baseurl=https://packages.gundulabs.com/rpm/opensuse/tumbleweed/$basearch
enabled=1
autorefresh=1
type=rpm-md
gpgcheck=1
gpgkey=https://packages.gundulabs.com/keys/gundulabs-repo.asc
EOF
sudo zypper refresh
sudo zypper install gaze gaze-gui
Arch / Manjaro / CachyOS
# Requires an AUR helper such as yay or paru. yay shown here.
yay -S --needed gaze-bin gaze-gui-bin
Flatpak (GUI only; also install one of the system packages above for the gazed daemon)
flatpak install --from https://packages.gundulabs.com/flatpak/com.gundulabs.Gaze.flatpakref
On openSUSE Tumbleweed, the RPM post-install script enables Gaze in the shared PAM stack. If needed, reapply that setting with sudo pam-config --add --gaze && sudo pam-config --update.
For GNOME lock screen face unlock after a manual package install, also install gaze-gnome-extension (gaze-gnome-extension-bin on Arch) and reboot. Then run gnome-extensions enable [email protected] and gsettings set org.gnome.shell.extensions.gaze enable-face-authentication true from your GNOME session. On Cinnamon, install gaze-cinnamon-extension and enable it from System Settings → Extensions; see the Cinnamon guide. On KDE Plasma, install gaze-kde (gaze-kde-bin on Arch) to enable hands-free lock screen face unlock and add a Gaze page to System Settings; see the KDE guide.
The repo is a Nix flake with packages (gaze, gaze-gui, gaze-gnome-extension, gaze-cinnamon-extension) and a NixOS module that configures the daemon, D-Bus/polkit, and PAM declaratively:
# flake.nix inputs
inputs.gaze.url = "github:GunduLabs/gaze";
# NixOS configuration
imports = [ inputs.gaze.nixosModules.default ];
services.gaze = {
enable = true;
gui.enable = true;
};
This is the beginning of the README. Read the rest at the original. Read the full README ↗