Não é possível executar o script .sh para a tarefa Cron. Mudando a imagem de fundo

0

Eu tentei várias abordagens para corrigir esse problema, mas tudo que eu quero fazer é alterar o papel de parede da área de trabalho quando esse script é executado no cron. Abaixo está o que eu tenho até agora.

PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
sudo gsettings set org.gnome.desktop.background picture-uri file:///home/mark/Pictures/Background_Pictures/CAP.jpg

Eu recebo o seguinte erro quando executo isso no cron.

(process:17154): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY

Eu sei que parte do problema é que preciso definir a variável DBUS_SESSION_BUS_ADDRESS , mas tenho e parece ter um valor válido.

Não sei como fazer isso. Alguém tem uma solução válida para isso?

    
por TheRedCameron 25.01.2017 / 06:23

1 resposta

1

Encontrou a solução. Eu usei o seguinte script.

PID=$(pgrep gnome-session) 
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) 
gsettings set org.gnome.desktop.background picture-uri "file:///home/mark/Pictures/Wallpapers/CAP.jpg"

No entanto, o problema estava no meu arquivo cron. Eu estava usando a linha

***** root sh /home/mark/scripts/desktop.sh

quando deveria ter sido

***** mark sh /home/mark/scripts/desktop.sh

Quando eu executei o script no cron com meus próprios privilégios, consegui executar o script no cron com êxito.

    
por TheRedCameron 28.01.2017 / 16:44