다른 글 말미에 써놓은 내용이긴 한데, 검색이 쉽게끔 따로도 정리한다.
cron 으로 GUI 프로그램을 실행시키면, 실행은 되는 듯 하지만, 정작 화면엔 아무 결과가 나오지 않는다.
GUI 이므로 사용자 crontab 에 등록해야함은 당연하다.
이를 해결하기 위해 검색을 해보니, StackExchange 에 해당 내용이 있었는데..
GUI 이므로, 어느 디스플레이에 표시해야할지를 정해줘야 한다고 한다.
따라서 환경변수 DISPLAY=:0
을 넣어주면 된다.
헌데, 여기서 살짝 또 문제가 생겼다.
내가 실행시킨 프로그램은 kdialog
였는데, 이 중 --textbox
를 줬을 때는 이상없이 잘 진행이 됐지만, 알리미(Notification)를 위해서 –passivepopup
을 넣었을 때는 약간 이상하게 표시가 됐다.
원래는 화면 오른쪽에 이렇게 나와야 정상이다.

그런데 이렇게 화면 왼쪽에 나와버렸다.

살짝 꽃삽질을 한 결과 답을 찾았다. 스크립트에 다음 환경변수를 넣어주면 된다.
export DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000
StackExchange 와, 저걸 찾아낸 내 자신에게도 고마움을 전한다.