Невозможно запустить скрипт.sh для задачи cron. Изменение фонового изображения

Я пробовал несколько подходов к решению этой проблемы, но все, что я хочу сделать, это изменить обои рабочего стола, когда этот скрипт запускается в cron. Ниже то, что я имею до сих пор.

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

Я получаю следующую ошибку при запуске в cron.

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

Я знаю, что часть проблемы заключается в том, что мне нужно установить DBUS_SESSION_BUS_ADDRESS переменная, но у меня есть, и, кажется, имеет действительное значение.

Я в растерянности, как это сделать. У кого-нибудь есть правильное решение для этого?

1 ответ

Решение

Нашел решение. Я использовал следующий скрипт.

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"

Однако проблема была в моем файле cron. Я использовал линию

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

когда это должно было быть

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

Когда я запустил скрипт в cron со своими собственными привилегиями, я смог успешно запустить скрипт в cron.

Другие вопросы по тегам