Using Apple’s Aerial Screensavers on Ubuntu After coming across the [Aerial] (https://github.com/JohnCoates/Aerial) screensavers for Mac, and installing them, I decided that I had had enough of the graphics-demos of my Ubuntu Precise system. I hope to provide a simple guide on how to add them to your setup as well.
First, you need to install xscreensaver (for example with aptitude, but your distro should have it):
sudo aptitude install xscreensaver
and the latest version of mpv (you must use the latest version, see here for a list of repos for various package managers:
sudo add-apt-repository ppa:mc3man/mpv-tests sudo aptitude update sudo aptitude install mpv
Then, we need to go and actually get the videos that Apple uses as screensavers. I wanted to do this regularly as they may add more locations or videos, so I wrote a hacky script that checks the server to see if there are any videos that I do not have on disk and download them:
#!/usr/bin/python import json import os import requests import sys if len(sys.argv) != 2: print("Usage: %s <folder to save videos to>" % (sys.argv)) sys.exit(1) downloadDir = sys.argv if downloadDir[-1] != '/': downloadDir += '/' response = requests.get("http://a1.phobos.apple.com/us/r1000/000/" + "Features/atv/AutumnResources/videos/entries.json") screensavers = json.loads(response.text) for screensaver in screensavers: for asset in screensaver['assets']: filename = downloadDir + asset['id'] + ".mov" if not os.path.isfile(filename): print("Downloading %s" % (asset['url'],)) film = requests.get(asset['url'], stream=True) with open (filename, "wb") as filmFile: print("Writing %s to %s" % (asset['id'], filename)) for chunk in film.iter_content(chunk_size=1024): if chunk: filmFile.write(chunk)
and then I set it to be run every day at 2:16am by adding this to my crontab
16 02 * * * /home/dhertz/screensavers/get_screensavers.py /home/dhertz/screensavers
You will want to replace where you saved the script and the folder where you wish to save the videos as appropriate.
Finally, I added this to my .xscreensaver (which by default is in your home
directory - if it is not there start xscreensaver), after all of the other
screensaver options (at the end of the big list of names with lines that end
Best: "Apple Aerial" mpv --really-quiet --shuffle --no-audio \ --fs --loop=inf --no-stop-screensaver \ --wid=$XSCREENSAVER_WINDOW --panscan=1 \ $HOME/screensavers/* \n\
and selected "Only One Screen Saver", "Apple Aerial" and to Cycle After 0 minutes in the xscreensaver-demo: