is a Great Dynamic Desktop Wallpaper Changer for Linux

Simple bash script to set a dynamic wallpaper according to certain conditions.

2, A Dynamic Desktop Wallpaper Changer for Linux

Bored seeing the same wallpapers every day? This article will show you how to automatically set new wallpapers using on Linux.

More often than not, we get bored with our current desktop wallpaper as the time passes. If you ever needed a way to automate changing your desktop wallpaper on Linux, this might be the right article for you.

Automatically switching wallpapers is probably the best way to keep your desktop fresh and full of surprises. There are many apps that can help you do this, but is it worth using an application for such an easy task?

What is is a Bash script that you can run on Linux to automatically finding new wallpapers, downloading and switching them from Unsplash and various subreddits of your choice.

It is an about a hundred lines of a shell script that uses wget to go and grab the wallpapers and download it to your machine. As you know, wget is a command line download utility for Linux.

How to Install

Since it is just a Bash script, you don’t need to install any packages or dependencies. You only need to have git installed on your machine.

To install it’s a single line of a copy and paste in the terminal. So all you need to do is just to clone the GitHub repo.

git clone

How to Use works out of the box with all popular Linux desktop environments. KDE, GNOME, Xfce and Sway are natively supported.

Go into the directory:


To change your wallpaper by using run the appropriate command on the terminal to apply a random wallpaper from Unsplash:


./ -k


./ -g


./ -x


./ -y

Specify a Desired Width or Height

By default, will set a random wallpaper with the resolution 1920×1080 px, but you can set custom width and height using the -w (width) and -h (height) flags.

For example, to set a wallpaper with resolution 1920×1200 px, the command would be:

./ -w 1920 -h 1200

Set a Wallpaper Based on a Search Term

You can use the -s option which will perform a image search based on your search term. For multi-word search terms, enclose the words in double quotes.

For example,  if you want to set a wallpaper showing an ocean sunset, type:

./ -s "ocean sunset"

Or you can search by a single word, in which case the quotes are not required.

./ -s birds

Automatically Change Wallpaper Every Hour via A Crontab

Cron is a scheduling daemon that executes tasks in the background at specified intervals. Using it you can change your desktop wallpaper automatically.

Related: How to Use Cron to Schedule Tasks: The Complete Beginners Guide

To change wallpaper on every hour launch the following command:

crontab -e

Now add the following to the opened file:

@hourly /path/to/script/

Save the file and exit. Make sure you replace /path/to/script/ with your actual path where you script is located.

This tells cron to set a random wallpaper on every hour by running script. To customize or change this behavior, make sure to use the appropriate flags as per your requirements.


  1. If you use KDE,this is a moot point. The standard wallpaper has a slideshow. It can time changes up to about 12 hrs. Just point it to your png and jpg mix graphic dir.

Leave a Reply

Your email address will not be published.

Latest from Linux Knowledge