I've made a custom directory where I've put a couple of my favourite wallpapers. I made a script which examines this directory, counts the number of PNGs, and then randomly sets one image as a wallpaper. It looks like this:
#!/bin/bash
#number of images in wallpaper folder
cd $HOME/Favourite wallpapers/
numImages=`ls *.png | wc -l`
#randomly chose one number
randomNum=$[ ( $RANDOM % $numImages ) + 1 ]
#command to set wallpaper
gsettings set org.gnome.desktop.background picture-uri file://$HOME/Favourite wallpapers/00$randomNum.png
Now, how can I make this script runs on each login (this is very easy thou) or once a day if not has been already run on login?
The problem is that I often suspend my Ubuntu and then awake it tomorrow morning, so in this case I never log in again. Setting this script as startup job would not help me as, obviously, when awaken from suspend, I never re-log in. I cannot simply set it via cron
job as well because in cases when I do log in, the wallpaper would be changed two times a day.
PS. anyone feel free to use this script with cron
(just set your own path and filename template or wait for a solution like mine :)