Uninstallation
This guide covers completely removing Gaze and all its components from your system.
Quickest path: gaze uninstall
gaze uninstallThis runs the full cleanup sequence (reset GNOME/GDM lock and login settings, revert PAM, stop daemon, remove packages and repo, wipe /etc/gaze, /var/cache/gaze, and /var/lib/gaze). It prints the plan and asks for confirmation first. Useful flags:
--keep-data: preserve/var/lib/gaze(enrolled faces)--dry-run: print the plan without running anything--yes: skip the confirmation prompt
If you'd rather run the steps yourself, follow the manual procedure below.
Step 1: Disable integrations
Before removing packages, disable any active integrations to avoid leaving your system in a broken state.
Reset GNOME lock screen settings
gnome-extensions disable gaze@gundulabs.com 2>/dev/null || true
gsettings reset-recursively org.gnome.shell.extensions.gazeRepeat this for each desktop user who enabled lock screen face unlock.
Revert hyprlock face unlock
If you enabled Gaze for hyprlock, remove the pam_module = hyprlock-gaze line from ~/.config/hypr/hyprlock.conf (or restore ~/.config/hypr/hyprlock.conf.gaze-backup if the installer created one). Repeat for every user that enabled it.
sed -i.bak '/^\s*pam_module\s*=\s*hyprlock-gaze/d' "${XDG_CONFIG_HOME:-$HOME/.config}/hypr/hyprlock.conf"Remove GDM login defaults and overrides
sudo rm -f /etc/dconf/db/gdm.d/00-gaze-defaults* /etc/dconf/db/gdm.d/99-gaze*
sudo dconf updateRevert PAM configuration
sudo pam-auth-update --package --remove gazeif [ -f /etc/gaze/authselect.previous ]; then
profile=$(sudo sed -n 's/^Profile ID:[[:space:]]*//p' /etc/gaze/authselect.previous)
features=$(sudo sed -n 's/^- //p' /etc/gaze/authselect.previous | tr '\n' ' ')
sudo authselect select "$profile" $features --force
else
sudo authselect select sssd --force
fi# Remove any pam_gaze.so or pam_gaze_grosshack.so lines
# from /etc/pam.d/system-auth or wherever you added them.
sudo nano /etc/pam.d/system-authStop and disable the daemon
sudo systemctl stop gazed
sudo systemctl disable gazedStep 2: Remove packages
sudo apt remove --purge gaze gaze-gui gaze-gnome-extension gaze-hyprlock
sudo apt autoremovesudo dnf remove gaze gaze-gui gaze-gnome-extension gaze-hyprlocksudo pacman -Rns gaze-bin gaze-gui-bin gaze-gnome-extension-bin gaze-hyprlock-binflatpak uninstall com.gundulabs.GazeStep 3: Remove the package repository
sudo rm /etc/apt/sources.list.d/gundulabs.list
sudo rm /usr/share/keyrings/gundulabs-archive-keyring.gpg
sudo apt updatesudo rm /etc/yum.repos.d/gundulabs.repo
sudo rpm -e gpg-pubkey-$(rpm -qa gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' | grep -i gundulabs | awk '{print $1}' | sed 's/gpg-pubkey-//')
sudo dnf makecache# AUR installs do not add a Gundu Labs pacman repo.
# Only run this if you previously configured the old pacman repo.
sudo sed -i '/^\[gaze\]/,/^$/d' /etc/pacman.conf
sudo rm -f /etc/pacman.d/gaze-mirrorlist
sudo pacman -Syflatpak remote-delete gundulabsStep 4: Remove leftover data
Package removal does not delete user data, downloaded models, or configuration files that were modified. Remove these manually if you want a clean slate.
Refresh compiled GNOME settings after package removal if your package manager did not run the hook:
sudo dconf update
sudo glib-compile-schemas /usr/share/glib-2.0/schemasFace enrollment data
sudo rm -rf /var/lib/gazeDownloaded ML models and cache
sudo rm -rf /var/cache/gazeConfiguration
sudo rm -rf /etc/gazeSELinux policy (Fedora/RPM systems only)
sudo semodule -r gaze-gdm-cameraStep 5: Reload system services
sudo systemctl daemon-reloadVerify removal
# All of these should fail with "command not found"
gaze --version
gazed --version
gaze-gui --help
# Should show "inactive" or "not found"
systemctl status gazed