A terminal-based tool for setting custom macOS login screen, desktop background, screensaver, and user account images.
Locksmith provides four main functions:
Login Screen: Sets a custom image as your macOS login/lock screen wallpaper. On macOS 14+ the login screen follows the desktop wallpaper, so that is set instead — applies immediately, no sudo. On macOS 13 and earlier the image is copied into the login cache, which requires a sudo password and a logout or reboot to take effect.
Desktop Background: Sets a custom image as your desktop wallpaper. Changes apply immediately. No sudo required.
Screensaver: Sets a custom image as your screensaver. Copies the image to ~/Pictures/Screensaver and configures macOS to use it (on macOS 14+ as a static image screensaver, on older versions as a photo slideshow of that folder). Changes apply immediately. No sudo required.
User Icon: Sets a custom image as your macOS user account picture. Changes apply immediately in System Settings, but may require a logout or reboot to update on the lock screen. Requires sudo password.
./locksmith [optional-start-directory]- Choose a feature:
- Login Screen
- Desktop Background
- Screensaver
- User Icon
- Navigate folders and select an image (.jpg, .jpeg, .png)
- Press Enter to confirm
- For user icon (and login screen on macOS 13 or earlier): enter sudo password when prompted
- Changes apply immediately (except user icon and pre-14 login screen, which may require logout)
Each surface can also be set non-interactively with a flag, for scripted use:
./locksmith --login path/to/image.png # login/lock screen (prompts for sudo)
./locksmith --desktop path/to/image.png # desktop wallpaper, all displays
./locksmith --desktop img.png --display 0 # desktop wallpaper, one display (0-based)
./locksmith --screensaver path/to/image.png # screensaver
./locksmith --icon path/to/image.png # user account picture (prompts for sudo)Flags can be combined to set several surfaces in one run. On macOS 14+, --login sets the desktop wallpaper, since the login/lock screen follows it there.
- macOS (all features work on macOS 14+; older versions use the legacy screensaver and login screen mechanisms)
- sudo privileges (for user icon, and for login screen on macOS 13 or earlier)
Download the latest binary from the Releases page and make it executable:
chmod +x locksmith-darwin-arm64 && mv locksmith-darwin-arm64 /usr/local/bin/locksmithUse locksmith-darwin-amd64 on Intel Macs. The binaries are not signed, so
macOS blocks a downloaded one on first run. Clear the quarantine flag to allow
it:
xattr -d com.apple.quarantine /usr/local/bin/locksmithTo build from source instead (for development), see INSTALLATION.md.