Cygwin에서 cron을 실행하여 notifu 호출

Cygwin에서 cron을 실행하여 notifu 호출

cygrunsrv저는 Windows에서 Linux 스타일 스케줄링을 사용하는 이점을 활용할 수 있도록 Cygwin과 Cron을 설치했습니다 . 전화하고 싶어요통지크론 작업에서.

다음 명령을 사용하여 cron을 서비스로 설치했습니다.

cygrunsrv -I cron -d "CYGWIN cron" -u cron_srv -p /usr/sbin/cron -a -n

모든 것이 정상입니다. 서비스가 실행 중이며 오류를 보고하지 않습니다. 또한 이 cron_srv사용자에게 필요한 모든 권한을 부여하여 사용자 컨텍스트 등을 전환할 수 있도록 했습니다.

crontab -l내가 정의한 다음 두 가지 작업을 제공합니다.

HOME=/home/<username>
PATH=/usr/local/bin:/usr/bin:/bin:/cygdrive/c/utils/notifu:$PATH
# testing
* * * * * echo "Cron test at $(date +\%k:\%M)" >> ~/testcron.txt 2>&1
* * * * * notifu /p "Balloon Title" /t warn /w /m "event description"

cronevents이것을 제공합니다 :

2014/03/03 13:08:01 [cron_srv] /usr/sbin/cron: PID 2592: (branchito) CMD (echo "Cron test at $(date +%k:%M)" >> ~/testcron.txt 2>&1)
2014/03/03 13:08:01 [cron_srv] /usr/sbin/cron: PID 4076: (branchito) CMD (notifu /p "Balloon Title" /t warn /w /m "event description")

..그래서 오류가 없습니다. 그리고 testcron.txt파일을 생성하고 사용자 정의 날짜 테스트로 올바르게 채웠습니다. 하지만 notifu에서는 아무런 오류도 보고하지 않지만 메시지와 함께 풍선을 띄우지 않으며 cronevents친구 데이트 테스트 작업과 마찬가지로 실행되는 것으로 보입니다.

마지막으로 추가된 에 포함되어 있더라도 프로그램을 PATH찾을 수 있도록 변수를 명시적으로 설정했지만 확실하게 확인하고 싶었습니다.notifuPATH

흥미로운 부분은 notifu명령이 Cygwin 터미널에서 아무 문제 없이 실행되고 풍선에 메시지가 잘 표시되지만 cron 작업에서는 트리거되지 않는다는 것입니다.

환경 변수 에 대한 내용을 읽었습니다 DISPLAY. 혹시 문제가 될 수 있나요? 그렇다면 crontab 파일에서 해당 값을 어떻게 설정합니까? Linux에서는 와 비슷 DISPLAY=:0.0하지만 Windows에서 이 값을 설정하는 방법을 모르겠습니다.

편집하다

session 0 isolation좀 더 조사한 결과 Windows Vista에서는 서비스가 수준에 따라서만 작동하므로 보안 예방 조치로 데스크톱과 상호 작용할 수 없거나 특별한 방식으로만 상호 작용할 수 있다는 사실에 문제가 있다는 사실을 알게 되었습니다. 보안 데스크톱 인스턴스.

notifu이 경우(내 경우) 이 서비스가 해당 앱에 메시지를 보낼 수 있도록 하는 방법, 해당 메시지와 함께 팝업 풍선 도움말을 표시하는 방법, 서비스를 수정하지 않고도 가능한 방법을 누군가에게 알려주고 싶습니다. 왜냐하면 나는 그것의 저자가 아니기 때문이다. 따라서 해당 서비스에 일부 logon as권한을 부여하여 사용자 공간에서 작동하도록 할 수 있는 방법이 있습니까 ?

관련 정보