cron에서 호출하면 xfconf-query가 작동하지 않습니다/각 cron에 대해 UI 관련 프로그램을 실행하는 방법은 무엇입니까?

cron에서 호출하면 xfconf-query가 작동하지 않습니다/각 cron에 대해 UI 관련 프로그램을 실행하는 방법은 무엇입니까?

달리는 동안

/usr/bin/xfconf-query -v -c xfce4-desktop \
  -p /backdrop/screen0/monitorHDMI-1/workspace0/last-image \
  -s $HOME/Photos/somephoto.jpg

명령줄에서 예상대로 배경 이미지를 설정합니다.

실행시키면 cron작동하지 않습니다. 명령줄에 위의 접두사를 추가해도 env -i작동하지 않기 때문에 환경 변수에 차이가 있을 수 있습니다 .

조금 짜증나는 점은 오류 출력이 없고 종료 코드까지 0모든 것이 괜찮은 것 같다는 것입니다. 확인했지만 /var/syslog출력이 없습니다. (명령줄에는 출력이 없고 cron 출력을 캡처하는 방법을 알고 있으므로 문제가 되지 않습니다.)

출력을 실험해 볼 것이며 env이러한 모든 XDG_*변수는 확실히 좋은 후보이지만 누군가 어떤 변수가 실제로 관련이 있고 이상적으로는 이를 어디에 기록할지 알 수 있다면 좋을 것입니다.

편집: DISPLAY=0.0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus트릭의 일부로 env -i1001은 내 사용자 ID입니다.

이 팁은 더 일반적이며 아마도 더 좋을 것입니다.질문: 사용자를 대신하여 그래픽 UI를 기반으로 cron 작업을 실행하는 올바른 방법은 무엇입니까?

  • 사용자가 그래픽 UI(xfce, gnome 등)를 실행하지 않는 경우 실행되지 않습니다.
  • 실제로 작업을 실행할 수 있도록 환경을 올바르게 설정하십시오.

그렇지 않다면 (GUI 세션으로 시작된 루핑 스크립트 외에 cron) 무엇입니까?sleep

편집 2: 이https://unix.stackexchange.com/a/111190/140503유용하고 간단한 솔루션인 것 같습니다. 그 동안 작업에 더 적합한 것이 없으면 중복으로 종료할 수 있습니다.

관련 정보