Saltar al contenido

Script de Shell que cambia el fondo de escritorio

Virginia, miembro de nuestro staff, nos hizo el favor de redactar este post porque controla perfectamente el tema.

Solución:

#!/bin/bash
wallpaperdir='$HOME/wallpaper'

files=($wallpaperdir/*)
randompic=`printf "%sn" "$files[RANDOM % $#files[@]]"`

gconftool-2 -t str --set /desktop/gnome/background/picture_filename "$randompic"

Guarde este script y edítelo con el comando “crontab -e” (abre un editor donde coloca esta línea al final del archivo):

*/1     *     *     *     *         /bin/bash /path/to/script.sh

editar: asumí que estás usando gnome. Si no, necesita editar la última línea, porque mi ejemplo usa Gnome Conftool. 😉

Para cambiar el fondo en XFCE, debe cambiar la línea con gconftool-2 a:

echo -e “# xfce backdrop listn$randompic”>$HOME/.config/xfce4/desktop/backdrops.list    
killall -USR1 xfdesktop

Sé que esta respuesta llega un poco tarde, pero como podría ayudar a algunas personas, la estoy publicando.

Del código de septi más algunas modificaciones, aquí está mi solución:

#!/bin/bash
wallpaperdir="$HOME/wallpaper"

files=($wallpaperdir/*)
randompic=`printf "%sn" "$files[RANDOM % $#files[@]]"`

echo -e "# xfce backdrop listn$randompic">$HOME/.config/xfce4/desktop/backdrop.list
xfdesktop --reload

Las comillas simples deben reemplazarse por comillas dobles para que la computadora interprete correctamente la parte $HOME. Además, el archivo que desea editar es backdrop.list, no backdrops.list. Y finalmente, encuentro que usar killall es un poco excesivo en este caso, ya que simplemente puede recargar xfdesktop.

Lo he probado en mi computadora (Linux Mint Debian Edition) y parece funcionar perfectamente.

Espero eso ayude. =)

EDITAR: Olvidé mencionar que debe agregar DISPLAY =: 0.0 antes de su comando, en crontab. Eso da

*/1 * * * * DISPLAY=:0.0 wallpaper.sh

Este es solo mi enfoque sobre este asunto. No pretendo que sea el ideal.

WALLS_PATH=/path/to/images
cd $WALLS_PATH

while [ 1 ]; do
    for NEW_WALL in "$WALLS_PATH"/*; do
        gsettings set org.gnome.desktop.background picture-uri "file://$NEW_WALL"
        sleep 1800
    done
done

Si posees algún reparo o capacidad de prosperar nuestro crónica eres capaz de dejar un paráfrasis y con mucho placer lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *