Apple TV has one of the most beautiful screen savers available. Created by John Coates what is displayed are a series of high quality drone videos taken over various locations around the world.

It wasn’t long before the Aerial Screen saver was ported over to the MacOS platform.

I missed this screen saver, its very relaxing to watch while on calls.

Thankfully this is the internet and someone has ported the screensaver to an xscreensavers package for linux.

The code and instructions are found on github.

xscreensaver that randomly selects one of the Apple TV4 aerial movies – graysky2/xscreensaver-aerial


It seems that the creator of the service has also thought about what has been created

An xscreensaver that randomly selects one of the Apple TV4 HD aerial movies and plays it using mpv.

The day movies will play between the hours of 7 AM and 7 PM while the night movies will play thereafter.

No movie should repeat until all of the respective movies have cycled through once. After that, the queue will reset and continue playing in a random fashion.

No excessive HDD usage. When the display is told to sleep by xscreensaver, whatever video is currently playing will finish and another will NOT get called until the display is active again

Getting it up and running is pretty simple.

Use your package managed to install

  • coreutils
  • mpv
  • wget
  • xscreensaver

Clone the git repo locally

git clone

cd xscreensaver-aerial

for the 2K video version run

cp /usr/lib/xscreensaver/atv4-2k && chmod +x /usr/lib/xscreensaver/atv4-2k

for the 4k video version run

cp /usr/lib/xscreensaver/atv4-4k && chmod +x /usr/lib/xscreensaver/atv4-4k

I've recently re run this on Ubuntu 22.04 and the library location changed.

for the 2K video version run

cp /usr/libexec/xscreensaver/atv4-2k && chmod +x /usr/lib/xscreensaver/atv4-2k

for the 4k video version run

cp /usr/libexec/xscreensaver/atv4-4k && chmod +x /usr/lib/xscreensaver/atv4-4k



then exit, this will create a hidden file in your home directory which you will need to edit

vi ~/.xscreensaver

at the end of the list of screen savers add

"ATV4-2k" atv4-2k \n\


"ATV4-4k" atv4-4k \n\

as an example for the 2k version

With this setup the screen saver will stream the videos it uses, if you want to download the video files to stop this

Create the folder for the video files

sudo mkdir -s /opt/ATV4/

move to that folder

cd /opt/ATV4/

On the git page above there are 2 scripts which will download either the 2k or the 4k video files, and i’d recommend copy and pasting from the git page

sudo vi /opt/ATV4/

then add

# run this from /opt/ATV4/ which you created and assigned 755 premissions manually



wget --no-clobber \

for i in "${twok[@]}"; do
	  wget --no-clobber"$i"

save the script and run it

sudo chmod +x /opt/ATV4/

sudo /opt/ATV4/

The script will download the video files, this could take a while depending on your bandwidth.

Once complete we will need to setup xscreensaver to run just this screensaver



If asked launch the daemon

Within the Screensaver Preferences Dialog

Change the Mode to Only One Screen Saver

Select the ATV4-2k or ATV4-4K Screensaver and your preferred Blank after and Cycle After settings.

Either preview to check working or close the dialog box.

Finally depending on your desktop interface of choice (KDE, Gnome, XFCE etc) you will need to have xscreensaver launch at startup.


If your power settings blank the screen after 5 minutes and the screensaver is set to run at 10 minutes, don’t expect to see a screensaver.

If on KDE5 you have world map set as your lock screen there seems to be a bug where when you move the mouse to get back to the screen you will see a scary window saying

loginctl unlock-session 3

Something like, but may not be exactly the same as

Follow the instructions and it will work, and don’t use world clock as your KDE lock screen.

By davidfield

Tech Entusiast