Я пытаюсь изменить свои обои на случайное изображение с помощью предложенного сценария Indrajith Indraprastham здесь: Как изменить настольный фон из командной строки в Единице?
Когда я запускаю скрипт из окна терминала, изменения bg очень хорошо, но когда он выполняется от крона, мне отправляют эту ошибку по почте:
(process:21901): DCONF-ПРЕДУПРЕЖДЕНИЕ **: не удалось фиксировать изменения в dconf: Ошибка, порождающая командную строку 'dbus-запуск - autolaunch=00216c114dcf433c9bb9009985d607d6 - двоичный синтаксис - близко-stderr': Дочерний процесс, из которого выходят с кодом 1
Я ценил бы любые предложения.
, Если Вы запускаете скрипт от своей собственной среды (например, из окна терминала или из Приложений Запуска), много переменных среды, будет установлена. cron
однако запускает Ваш скрипт с ограниченным набором переменных среды.
Для редактирования gsettings
успешно от cron
необходимо установить DBUS_SESSION_BUS_ADDRESS
переменная среды. Можно сделать это путем добавления двух строк к сценарию, как описано здесь (и ниже).
сценарий отсюда , отредактированный для включения DBUS_SESSION_BUS_ADDRESS
переменная среды, затем становится:
#!/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"
<час> Связанный: Выполнение .sh каждые 5 минут