Rotando Wallpapers en GNOME

He modificado un script en Perl que permite rotar wallpapers en GNOME cada cierto intervalo de tiempo. Lo adapté para que parseara el XML ~/.gnome2/backgrounds.xml el cual contiene los wallpapers favoritos del sistema y los usé en lugar de tener que especificar una carpeta del disco duro. Para instalarlo guarda el codigo en algun lugar de tu disco duro y hazlo ejecutable (chmod +x archivo.pl). Ya solo queda definir que se ejecute automáticamente cada vez que inicies sesión (Sistema->Preferencias->Sesiones). Aqui les dejo el código:

#!/usr/bin/perl -w
#
# Default GNOME backgrounds feature by benji
# Originally Written by Michael Moore, Nov. 2007, placed in the public domain
#
# Requieres libxml-simple-perl
# $ sudo apt-get install libxml-simple-perl
#

use strict;
use warnings;
use XML::Simple;

my $switchTime = 300; # Edit to the number of seconds between photo switches
my $xml = new XML::Simple;
my $data = $xml->XMLin("/home/".getpwuid($<)."/.gnome2/backgrounds.xml");
my @photos;
my $temp;

foreach my $key (keys (%{$data->{wallpaper}})){
$temp = $data->{wallpaper}->{$key}->{filename};
if($temp ne "(none)") {
push(@photos,$temp);
}
}

chomp(@photos);

my $photo;

while(1)
{
$photo = $photos[rand($#photos)];
`gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$photo"`;
sleep($switchTime);
}


Nota: Necesitas la libreria XML-Simple. Si usas ubuntu o derivados instalala ejecutando:
$ sudo apt-get install libxml-simple-perl