Setel wallpaper dari cron di xfce4


0

Saya telah menulis skrip kecil createCountdownWallpaper.pyyang seharusnya merender ulang wallpaper /tmp/wallpaper.pngsetiap beberapa menit, dan skrip setWallpaper.shyang terlihat sebagai berikut:

#!/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

Saluran dan propertytelah dipilih menggunakan -mbendera xfconf-query, seperti yang dijelaskan dalam jawaban ini . Ini bekerja ketika dijalankan dari terminal. Namun, ketika lari dari cron, tampaknya tidak berpengaruh. Crontab:

SHELL=/bin/bash

*/1 * * * * /home/path/to/countdown/setWallpaper.sh 2>/tmp/cron_errors.txt

Saya juga sudah mencoba sumber berbagai .bashrcdan .profileskrip dan pengaturan variabel lingkungan suka

DBUS_SESSION_BUS_ADDRESS=unix:abstract=tmp/dbus-r4nd0MjunK

tapi itu juga tidak membantu.

Jawaban:


1

Jalankan ini sebelum menjalankan xfconf-query:

PID=$(echo $(ps -C xfce4-session -o pid=))                                      
export $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ)

0

Kombinasi berikut tampaknya berhasil, mengubah dan mengubah latar belakang setiap menit.

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

Petunjuk:

  • DBUS_SESSION_BUS_ADDRESS sepertinya tidak masalah
  • The Folder: /tmppengaturan dalam menu GUI "Desktop" tidak peduli
  • Pergantian wallpaper otomatis setiap Nmenit harus dinonaktifkan di XFCE-gui untuk pengaturan wallpaper .
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.