Editando gsettings do cron; variável de ambiente ausente
Se você executar o script em seu próprio ambiente (por exemplo, em uma janela de terminal ou em Aplicativos de inicialização), várias variáveis de ambiente serão definidas. No entanto, cron
executa seu script com um conjunto limitado de variáveis de ambiente.
Para editar gsettings
com sucesso de cron
, você precisa definir a variável de ambiente DBUS_SESSION_BUS_ADDRESS
. Você pode fazer isso adicionando duas linhas ao seu script, conforme descrito aqui (e abaixo).
Seu script, incluindo a configuração da variável necessária
O script daqui , editado para incluir a variável de ambiente DBUS_SESSION_BUS_ADDRESS
, torna-se:
#!/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: Executando .sh a cada 5 minutos