Aqui está a minha versão do seu script. Por esta abordagem nós não precisa se preocupar com qual variável de ambiente devemos exportar, porque exportamos todas as variáveis disponíveis para a sessão do usuário atual.
#!/bin/bash
# NAME: lubuntu-wp-changer
# Initial variables
ITEMS_PATH="$HOME/Pictures/wallpapers"
ITEMS=("$ITEMS_PATH"/*)
# Check whether the user is logged-in, if yes export the current desktop session environment variables
[ -z "$(pgrep lxsession -n -U $UID)" ] && exit 0 || export $(xargs -0 -a "/proc/$(pgrep lxsession -n -U $UID)/environ") >/dev/null
# Generates a random number in the range determinated by the number of the items in the array ${ITEMS[@]}
ITEM=$(( ($RANDOM) % ${#ITEMS[@]} ))
# Set the wallpaper
pcmanfm --set-wallpaper="${ITEMS[$ITEM]}"
exit 0
Aqui está o meu Cronjob que altera o papel de parede a cada três segundos:
* * * * * bash -c 'for i in {1..20}; do $HOME/lubuntu-wp-changer; sleep 3; done'
Aqui está o resultado:
MaisdetalhespodemserencontradosnomeuprojetodoGitHub: