Ejecutando cron en Cygwin para llamar a notifu

Ejecutando cron en Cygwin para llamar a notifu

Instalé Cygwin con cygrunsrvCron para poder aprovechar los beneficios de usar la programación estilo Linux en Windows. quiero llamarnotificode un trabajo cron.

Instalé cron como servicio usando el comando:

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

Todo está bien, el servicio se está ejecutando y no informa ningún error. También le di a este cron_srvusuario todos los privilegios que necesita, para que pueda cambiar contextos de usuario, etc.

crontab -lda estos dos trabajos que he definido:

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"

croneventsda esto:

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")

..así que no hay errores. Y ya tengo mi testcron.txtarchivo creado y completado correctamente con mi prueba de fecha personalizada. Pero notifuno aparece un globo con mensaje, aunque no informa ningún error croneventsy parece ejecutarse tan bien como el trabajo de prueba de la fecha de su amigo.

Configuré mi PATHvariable explícitamente para que pueda encontrar el notifuprograma, aunque esté contenido en el último adjunto PATH, pero quería estar seguro.

La parte interesante es que el notifucomando se ejecuta sin ningún problema desde la terminal Cygwin, el globo aparece con un mensaje, pero desde el trabajo cron no se activa.

Leí algo sobre la DISPLAYvariable de entorno, ¿podría ser eso quizás un problema? Si es así, ¿cómo establecería su valor en el archivo crontab? En Linux es como DISPLAY=:0.0, pero no sé cómo configurar este valor en Windows.

EDITAR

Investigando un poco más, llegué a saber que el problema radica en el hecho de que a partir de Windows Vista, los servicios actúan sólo y sólo en session 0 isolationnivel, por lo que no pueden interactuar con el Escritorio como medida de seguridad, o pueden hacerlo, pero de alguna manera especial. instancia de escritorio seguro.

Me gustaría que alguien me dijera cómo sería posible en este caso (mi caso), que este servicio pueda enviar un mensaje a esa notifuaplicación, solo que aparezca un globo emergente con ese mensaje, y eso sería posible sin modificar el servicio. en sí, porque no soy el autor del mismo. Entonces, ¿hay alguna manera de que pueda darle algunos logon aspermisos a ese servicio, para que actúe en el espacio de usuario?

información relacionada