Styli.sh is a Great Dynamic Desktop Wallpaper Changer for Linux

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

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

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

What is Styli.sh

Styli.sh is a Bash script that you can run on Linux to automatically find new wallpapers, downloading and switching them from Unsplash and various subreddits.

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

How to Install Styli.sh

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 Styli.sh it’s a single line of a copy and pastes in the terminal. So all you need to do is to clone the Styli.sh GitHub repo.

<meta http-equiv="content-type" content="text/html; charset=utf-8">git clone https://github.com/thevinter/styli.shCode language: PHP (php)

How to Use Styli.sh

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

Go into the styli.sh directory:

cd styli.shCode language: CSS (css)

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

KDE

./styli.sh -k

GNOME

<meta http-equiv="content-type" content="text/html; charset=utf-8">./styli.sh -gCode language: HTML, XML (xml)

Xfce

<meta http-equiv="content-type" content="text/html; charset=utf-8">./styli.sh -xCode language: HTML, XML (xml)

Sway

<meta http-equiv="content-type" content="text/html; charset=utf-8">./styli.sh -yCode language: HTML, XML (xml)

Specify a Desired Width or Height

By default, Styli.sh 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 a resolution 1920×1200 px, the command would be:

./styli.sh -w 1920 -h 1200

Set a Wallpaper Based on a Search Term

You can use the -s option, which will perform an 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:

./styli.sh -s "ocean sunset"Code language: JavaScript (javascript)

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

<meta http-equiv="content-type" content="text/html; charset=utf-8">./styli.sh -s birdsCode language: HTML, XML (xml)

Automatically Change Wallpaper Every Hour via A Crontab

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

To change the wallpaper every hour, launch the following command:

crontab -e

Now add the following to the opened file:

@hourly /path/to/script/styli.shCode language: CSS (css)

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

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

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%