달리는 동안
/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 -i
1001은 내 사용자 ID입니다.
이 팁은 더 일반적이며 아마도 더 좋을 것입니다.질문: 사용자를 대신하여 그래픽 UI를 기반으로 cron 작업을 실행하는 올바른 방법은 무엇입니까?
- 사용자가 그래픽 UI(xfce, gnome 등)를 실행하지 않는 경우 실행되지 않습니다.
- 실제로 작업을 실행할 수 있도록 환경을 올바르게 설정하십시오.
그렇지 않다면 (GUI 세션으로 시작된 루핑 스크립트 외에 cron
) 무엇입니까?sleep
편집 2: 이https://unix.stackexchange.com/a/111190/140503유용하고 간단한 솔루션인 것 같습니다. 그 동안 작업에 더 적합한 것이 없으면 중복으로 종료할 수 있습니다.