Estoy intentando cambiar mi fondo de pantalla a una imagen aleatoria usando el guión sugerido por Indrajith Indraprastham aquí: ¿Cómo cambiar el fondo del escritorio desde la línea de comandos en Unity?
Cuando ejecuto el script desde una ventana de terminal, el bg cambia muy bien, pero cuando se ejecuta desde cron, me envían este error:
(proceso: 21901): dconf-WARNING **: no se pudieron confirmar los cambios en dconf: error al generar la línea de comandos ‘dbus-launch –autolaunch = 00216c114dcf433c9bb9009985d607d6 – syntax binario –close-stderr’: proceso secundario finalizado con el código 1
Apreciaria cualquier sugerencia.
Si ejecuta el script desde su propio entorno (por ejemplo, desde una ventana de terminal o desde Aplicaciones de inicio), se establecerán una serie de variables de entorno. Sin embargo, cron
ejecuta su script con un conjunto limitado de variables de entorno.
Para editar gsettings
correctamente desde cron
, debe configurar la variable de entorno DBUS_SESSION_BUS_ADDRESS
. Puede hacerlo agregando dos líneas a su script, como se describe aquí (y más abajo).
El script de aquí , editado para incluir la variable de entorno DBUS_SESSION_BUS_ADDRESS
, se convierte en:
#!/bin/bash PID=$(pgrep gnome-session) export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) DIR="/home/indra/Pictures/wallpapers" PIC=$(ls $DIR/* | shuf -n1) gsettings set org.gnome.desktop.background picture-uri "file://$PIC"
Relacionados: Ejecutando .sh cada 5 minutos.