Styli.sh is a dynamic wallpaper changer for Linux

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.

git clone https://github.com/thevinter/styli.sh

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.sh

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

./styli.sh -g

Xfce

./styli.sh -x

Sway

./styli.sh -y

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"

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

./styli.sh -s birds

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.sh

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 is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, Bobby has worked as a Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

2 Comments

  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. Required fields are marked *