Установить обои от cron в xfce4

319
Andrey Tyukin

Я написал небольшой скрипт, createCountdownWallpaper.pyкоторый должен рендерить обои /tmp/wallpaper.pngкаждые несколько минут, и скрипт, setWallpaper.shкоторый выглядит следующим образом:

#!/bin/bash cd /home/path/to/countdown /usr/bin/python3.5 createCountdownWallpaper.py  xfconf-query \ --channel xfce4-desktop \ --property /backdrop/screen0/monitor0/workspace0/last-image \ --set /tmp/wallpaper.png 

Каналы и propertyбыли выбраны с помощью -mфлага xfconf-query, как описано в этом ответе . Работает при запуске из терминала. Тем не менее, при запуске из cron, кажется, не имеет никакого эффекта. Crontab:

SHELL=/bin/bash  */1 * * * * /home/path/to/countdown/setWallpaper.sh 2>/tmp/cron_errors.txt 

Я также попытался поиск различной .bashrcи .profileсценарии и установки переменных окружения, как

DBUS_SESSION_BUS_ADDRESS=unix:abstract=tmp/dbus-r4nd0MjunK 

но это тоже не помогло.

0

1 ответ на вопрос

0
Andrey Tyukin

Следующая комбинация, похоже, сработала, она рендерится и меняет фон каждую минуту.

SHELL=/bin/bash  */1 * * * * yourUsername source $HOME/.profile ; source $HOME/.bashrc; env DISPLAY=:0.0 /home/path/to/countdown/setWallpaper.sh 2>/tmp/cron_errors.txt 

подсказки:

  • DBUS_SESSION_BUS_ADDRESS не имеет значения
  • Folder: /tmpНастройки в меню графического интерфейса пользователя «Desktop» делает дело
  • Автоматическая смена обоев каждую Nминуту должна быть отключена в XFCE-gui для настройки обоев .

Похожие вопросы