A GNOME desktop enhancement that can play any animation as wallpaper, completely frame-based, plays whenever screen unlocks, using systemd and gsettings.
Watch how it looks when it's working
![]()
When you unlock your screen, a systemd user service detects the unlock event via D-Bus and runs the animation script. The script cycles through a folder of images as wallpaper frames, then restores your original wallpaper once the animation finishes.
- GNOME desktop environment
- Python 3
gsettings(included with GNOME)gdbus(included with GNOME)
git clone https://github.com/nitd27/Ubuntu-unlock-animation
cd Ubuntu-unlock-animation
./install.shLock and unlock your screen to test.
./uninstall.shOpen Ubuntu_Unlock_Animation.py and edit this line:
FRAME_DIR = os.path.join(os.path.dirname(__file__), "frames", "Miku-eye-frames")Replace Miku-eye-frames with the name of any folder inside frames/.
To add your own animation, place a folder of sequentially named .jpg or .png images inside the frames/ directory. To make your own custom animation, upload that animation's video to ezgif video to frames tool, get the output in a folder, and place it inside frames/ then update the code.
| Name | Frames |
|---|---|
| Miku-eye-frames | 36 |
More coming soon.
In Ubuntu_Unlock_Animation.py, change this value:
FRAME_DELAY = 0.09 # seconds per frameLower = faster. Higher = slower.
frames/
├── Miku-eye-frames/
│ ├── frame-001.jpg
│ └── ...
Ubuntu_Unlock_Animation.py
Ubuntu-unlock-animation.service
install.sh
run_animation.sh
uninstall.sh
- Ubuntu 24.04 with GNOME