====== Change windows desktop background for day and night (Ubuntu, GNU/Linux) ====== Having a bright, blue wallpaper for day use and a darker, reddish wallpaper for evening/night is useful stay in synch with the real time of day. So, i wanted my windows xp machine automatically switch to the day wallpaper from 7-20 and to night from 20-7 hours. The following batch script does this, without any add-on software. To use, copy-paste the file and store it to your scripts directory (e:\etc in my case). {{:blog:wallpaper_day.jpg?320|}} {{:blog:wallpaper_night.jpg?320|}} Advantages: * No additional software (apart from the script) has to be installed * No additional load on the computer by a desktop switcher, except from the tasks that you define yourself Notes: * Configuration is by changing the times in the case, and the image file names in the gconf... * Test by calling the script * Use f.lux to change the color temperatur of your display to suit the time of day -> http://www.stereopsis.com/flux/ * To automate the wallpaper switch on startup and during the day * Add the xdbus.sh script to your startup scripts, so that the xdbus variables are available. * add a cron task (see below) #!/bin/bash # Change desktop background image depending on the time of day # Configuration: Change hourse in the case statements, and the images to load as background # # load variables for gconftool. These have to be written to Xdbus during login . $HOME/.config/Xdbus HOUR=$(date +%H) gconftool=/usr/bin/gconftool case "$HOUR" in 06|07) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_0373.JPG ;; 08|09|10|11|12|13|14|15|16) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_1025.JPG ;; 17|18|19 ) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_0959.JPG ;; *) $gconftool -t string -s /desktop/gnome/background/picture_filename ~/Bilder/DSC_0776.JPG ;; esac Note: gconftool needs some environment variables of the user to run. These can be saved during login for later use #!/bin/sh # Export the dbus session address on startup so it can be used by cron # use in cron /home/brb/.config/Xdbus; xdbus=$HOME/.config/Xdbus touch $xdbus chmod 600 $xdbus env | grep DBUS_SESSION_BUS_ADDRESS > $xdbus echo 'export DBUS_SESSION_BUS_ADDRESS' >> $xdbus # Export XAUTHORITY value on startup so it can be used by cron env | grep XAUTHORITY >> $xdbus echo 'export XAUTHORITY' >> $xdbus Add changedesktop to crontab, using ''crontab -e'' # m h dom mon dow command @reboot /home/brb/bin/changedesktop.sh 0 * * * * /home/brb/bin/changedesktop.sh {{tag>ubuntu linux desktop background}} ~~LINKBACK~~ ~~DISCUSSION~~