Wallpaper downloader and manager for Linux systems

varietywalls, updated 🕥 2023-03-06 16:45:47


Variety is a wallpaper manager for Linux systems. It supports out-of-the-box most Linux desktop environments, and can be configured to work on more esoteric ones.

It can use local images or automatically download wallpapers from Flickr, Wallhaven, Unsplash, Bing, Reddit and other online sources, allows you to rotate them on a regular interval, and provides easy ways to separate the great images from the junk. Variety can also display wise and funny quotations or a nice digital clock on the desktop.

Where supported, Variety sits as a tray icon to allow easy pausing and resuming. Otherwise, its desktop entry menu provides a similar set of options.


Screenshot from 2022-07-30 16-36-55


As a system package

Variety is available in the distro repositories of:

Detailed installation instructions can be found here.

On a recent Ubuntu or Debian-based system (Universe repository has to be enabled on Ubuntu): sudo apt update && sudo apt install variety

Ubuntu PPA

Variety backports to older Ubuntu releases are available at this PPA: https://launchpad.net/~variety/+archive/ubuntu/stable. The PPA usually provides newer releases than the ones available in the Universe repository:

sudo add-apt-repository ppa:variety/stable sudo apt update sudo apt install variety

If you have added the PPA, you may also install Variety Slideshow – a pan and zoom image slideshow/screensaver, which is an nice optional addition and integrates well into Variety. It is not available in the standard Ubuntu Universe repository.

sudo apt install variety-slideshow

Install from source

To install Variety from source, you will need Git, Python 3.5+ and distutils-extra. To actually run Variety, you will also need the following:

Runtime Requirements

  • GTK+ 3
  • gexiv2
  • libnotify
  • Python 3 libraries:
    • BeautifulSoup4
    • lxml
    • Pycairo
    • PyGObject, built with Cairo integration
    • ConfigObj
    • Pillow
    • pkg_resources (from setuptools)
    • Requests
    • Optional: httplib2 (for more quotes sources)
  • Optional: imagemagick (for wallpaper filters)
  • Optional: feh or nitrogen: used by default to set wallpapers on i3, openbox, and other WMs
  • Optional: libayatana-indicator (for AppIndicator support)
  • Optional: for tray icon support on GNOME, the GNOME AppIndicator extension

See debian/control for an equivalent list of runtime dependencies on Debian/Ubuntu.

Install steps

  1. Clone the git repository: git clone https://github.com/varietywalls/variety.git && cd variety

  2. Run python3 setup.py install. By default, this will install Variety into /usr/local; for a local installation, use python3 setup.py install --prefix $HOME/.local.

  3. Run variety from the command line or its desktop menu entry.


Regardless of how you install, you can launch Variety from the dash or applications menu, or by running variety in a terminal.

Run variety --help to see the command-line options. They allow you to control Variety from the terminal.


bing: download UHD images

opened on 2023-03-06 16:45:46 by dnk

Allow to download the best qualities images from Bing.com

GDM3 - messed up Ribbon View.

opened on 2023-02-24 05:38:22 by raymerjacque

when using the latest GDM3 on the debian testing repository, the variety wallpaper changer "ribbon" does not display on the sides of the screen the way its meant to. instead it seems to have shifted to the middle of the screen and completely out of alignment.

This only happens when you install the latest GDM3 display manager. if you run gnome with lightdm then variety works fine, but if you switch to gdm3 it gets messed up.

Preferences don't show up

opened on 2023-02-18 04:51:34 by GrimPixel

Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/variety/VarietyWindow.py", line 2511, in _process_command self.on_mnu_preferences_activate() File "/usr/lib/python3.10/site-packages/variety/VarietyWindow.py", line 245, in on_mnu_preferences_activate self.create_preferences_dialog() File "/usr/lib/python3.10/site-packages/variety/VarietyWindow.py", line 218, in create_preferences_dialog self.preferences_dialog = PreferencesVarietyDialog(parent=self) # pylint: disable=E1102 File "/usr/lib/python3.10/site-packages/variety_lib/PreferencesDialog.py", line 40, in new new_object.finish_initializing(builder, parent) File "/usr/lib/python3.10/site-packages/variety/PreferencesVarietyDialog.py", line 94, in finish_initializing self.reload() File "/usr/lib/python3.10/site-packages/variety/PreferencesVarietyDialog.py", line 327, in reload cb.set_tooltip_text(p["info"]["description"]) KeyError: 'description'

Variety makes thousands of copies of my wallpaper files

opened on 2023-02-17 14:08:33 by mickee384

Version of Variety


Describe the bug

I noticed the other day, in my wallpaper folder there are thousands of files (variety-copied-wallpaper-xxxxxxx) where x is a random string of numbers and letters. There are also several copies that are identical but with a different name. Is this normal?


Not sure if it copies every wallpaper or not

To Reproduce

  1. This is happening all the time. Consistently copies the wallpapers 2. 3.

Attach Variety's log file


Desktop environment and version

Ubuntu MATE 22.04.1 LTS

OS name and version

Ubuntu 22.04.1 LTS \n \l

PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy


Screenshot at 2023-02-17 07-48-53

Attached files

Additional context

These files are created and loose inside my /home/mickee/wallpaper folder

Variety does not display quotes

opened on 2023-02-14 07:36:24 by martinkg

Version of Variety you are using


Is your feature request related to a problem? Please describe.

How reproducible: configure variety for quote display

Steps to Reproduce: 1. Install variety from fedora 37 software array 2. Configure variety to change background to change at 5 min. intervals. Turn on quotes and change at 5 min. intervals. Turn on big clock. 3.Wait 5 minutes.

Actual results: The background has changed. The clock appears. No quotes appears

Describe the solution you'd like

Expected results: The quotes to appear

Support TSV for quotes

opened on 2023-02-03 11:46:11 by GrimPixel

Version of Variety you are using


Is your feature request related to a problem? Please describe.

I would like to turn the quotes into flashcards. TSV is the ideal format for it.

Describe the solution you'd like

Add support for TSV.

Additional context


Variety 0.8.10 2023-01-29 08:54:38

  • Bugfix #577: Fix Unsplash downloads
  • Bugfix #553: Keep the current quote when using Image->Next
  • Bugfix #418: on AwesomeWM, apply the same image on all monitors separately instead of stretching across them
  • Feature #559: add support for handling Unsplash topic URLs
  • Improvement #586: Use official API for EarthView

Variety 0.8.9 2022-06-22 21:24:44

  • Bugfix #536, #537: Fix errors when there is no primary monitor configured

Variety 0.8.8 2022-06-17 10:02:13

  • Feature #89: Added options to select fit size / wallpaper mode. Added an image-dependent smart fit mode.
  • Bugfix #519: Fix issues with autostart.
  • Bugfix #534: Fix the fallback Wallhaven non-API downloading mode used for some Wallhaven URLs.
  • Bugfix #480: Improve image searching: Avoid deep/huge folders causing Variety to ignore the other folders.

Variety 0.8.7 2022-04-30 16:04:50

  • Added a global switch to turn Internet connectivity for Variety off or on
  • Wallhaven sources now use the Wallhaven API, not html parsing (Thanks to @nlpsuge).
  • Support for fetching NSFW images from Wallhaven (Thanks to @nlpsuge). When adding Wallhaven sources, you can provide your own Wallhaven API key. If provided, and the source URL is set to search for NSFW images, Variety will obey.
  • Auto-upgrade set_wallpaper/get_wallpaper scripts. Starting from this release, Variety will always automatically upgrade the set_wallpaper/get_wallpaper scripts to make sure fixes to those are picked up. Your old files have been preserved in the ~/.config/variety/scripts folder. If you need to use custom scripts, please set their paths in the set_wallpaper_script/get_wallpaper_script properties in ~/.config/variety/variety.conf.

Variety 0.8.6 2022-04-23 13:12:21

  • New source: National Geographic's photo of the day (thanks to @TheLastZombie)
  • New source: ArtStation (thanks to @denis-gordeev)
  • Add support for Gnome's Dark style
  • Change default font for quotes and clock to Serif for greater compatibility
  • Translation updates and bugfixes

Variety 0.8.5 2020-12-02 06:11:58

  • Fixes for Python 3.9 support (GH-379, GH-385)
  • Fix GH-388: Cleanup of wallpaper folder now cleans all image types
  • Fix GH-363: We were almost never triggering purging downloads
  • Enable support for Qtile-venv (GH-386)
  • Updated Japanese translations (GH-284)
Variety Wallpaper Changer
GitHub Repository Homepage