MacOS Mojave comes with a “dynamic desktop background” that changes slightly throughout the day. In this post, I will show you how to use them on the Linux desktop.

After enabling this feature, the desktop background will change every few hours to an image that reflects the time of day.

But there’s no denying that Apple’s choice of theme, its high-quality photography and subtle day-to-night transition between each shot is more fun than shuffling a random set of wallpapers every 30 minutes.

Want the same on Linux? All in your hands.

How to set dynamic wallpaper for macOS Mojave desktop in KDE

First, go to the KDE App Store page and download the latest dynamic wallpaper plugin

динамические обои kde

Unpack to a place convenient for you, and go to the unpacked directory

cd plasma5-wallpapers-dynamic-2.6

Next, install the required dependencies to build the package

For ArchLinux

sudo pacman -S cmake extra-cmake-modules git plasma-framework qt5-base qt5-declarative qt5-location

For Fedora

sudo dnf install cmake extra-cmake-modules git kf5-kpackage-devel kf5-plasma-devel kf5-ki18n-devel qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtlocation-devel

For Ubuntu

sudo apt install cmake extra-cmake-modules git libkf5package-dev libkf5plasma-dev qtbase5-dev qtdeclarative5-dev qtpositioning5-dev

Create a directory and start building

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE = Release 
-DCMAKE_INSTALL_PREFIX = / usr 
-DCMAKE_INSTALL_LIBDIR = lib 
-DBUILD_TESTING = OFF

Now start the build by running the following command

make

And run the installation

sudo make install

After installation, you can use dynamic wallpaper, but you need to create it yourself.

динамические обои kde

Fortunately, they have already been created before us, and we need to go to the GitHub site, and download the ready-made wallpaper files

Unpack in a convenient place for you, and go to the unpacked directory

cd gnome-kde-dynamic-wallpaper-mojave-master

Enter the following commands to set macOS Mojave dynamic wallpaper

Copy the `mojave` directory from this repository to` / usr / share / dynamicwallpapers / mojave-solar / contents / images` and make it readable by running the following commands

sudo mkdir -p / usr / share / dynamicwallpapers / mojave-solar / contents / images &&
sudo cp mojave / * / usr / share / dynamicwallpapers / mojave-solar / contents / images &&
sudo chmod 755 / usr / share / dynamicwallpapers / mojave-solar / contents / images &&
sudo chmod 644 / usr / share / dynamicwallpapers / mojave-solar / contents / images / *

Create `/ usr / share / dynamicwallpapers / mojave-timed / contents / images` and make it readable

sudo mkdir -p / usr / share / dynamicwallpapers / mojave-timed / contents &&
sudo chmod 755 / usr / share / dynamicwallpapers / mojave-timed / contents &&
sudo ln -s / usr / share / dynamicwallpapers / mojave-solar / contents / images / usr / share / dynamicwallpapers / mojave-timed / contents / images

Link the mojave directory from / usr / share / dynamicwallpapers to / usr / share / background / macOS

sudo mkdir -p / usr / share / backgrounds / macOS &&
sudo ln -s / usr / share / dynamicwallpapers / mojave-solar / contents / images / usr / share / backgrounds / macOS / mojave

Copy `mojave-solar.json` from this repo to` / usr / share / dynamicwallpapers / mojave-solar / metadata.json` and make it readable

sudo cp mojave-solar.json /usr/share/dynamicwallpapers/mojave-solar/metadata.json &&
sudo chmod 644 /usr/share/dynamicwallpapers/mojave-solar/metadata.json

Copy `mojave-timed.json` from this repo to` / usr / share / dynamicwallpapers / mojave-timed / metadata.json` and make it readable

sudo cp mojave-timed.json /usr/share/dynamicwallpapers/mojave-timed/metadata.json &&
sudo chmod 644 /usr/share/dynamicwallpapers/mojave-timed/metadata.json

Copy the `mojave-timed.xml` from this repository to` / usr / share / background / macOS` and make it readable

sudo cp mojave-timed.xml /usr/share/backgrounds/macOS/mojave-timed.xml &&
sudo chmod 644 /usr/share/backgrounds/macOS/mojave-timed.xml

Copy `mojave.xml` from this repository to` / usr / share / gnome-background-properties` and make it readable

sudo mkdir -p / usr / share / gnome-background-properties &&
sudo cp mojave.xml /usr/share/gnome-background-properties/mojave.xml &&
sudo chmod 644 /usr/share/gnome-background-properties/mojave.xml

After that, right-click on the desktop, and select “Configure Desktop”

On the “Wallpaper Type” tab, select “Dynamic”, and also change “Latitude and Longitude” (If you do not know the latitude and longitude of your country, you can look it up on the Internet), and click Apply.

динамические обои

That’s all, now your wallpaper will change depending on the time of day.

динамические обои kde динамические обои kde динамические обои kde

In this small video, you can verify this.