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.
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
sudo apt autoremovesudo dnf remove gaze gaze-gui gaze-gnome-extensionsudo pacman -Rns gaze-bin gaze-gui-bin gaze-gnome-extension-binStep 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 -SyStep 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