1 votos

Mi script de Applescript automatizado de "click" acaba de dejar de funcionar.

Hasta hace una semana, mi simple Applescript que debía simplemente hacer clic en una coordenada específica en la pantalla dejó de funcionar.

Aquí está el Applescript:

tell application "System Events"
click at {693, 619}
end tell

Y automatizo su activación en un momento específico del día con la ayuda de osascript (recomendado para Applescripts) usando el siguiente archivo plist.

    Label
    com.mouseclick.plist
    ProgramArguments

        /usr/bin/osascript
        /Users/mugenvoid/Downloads/mouseclick.scpt

    StartCalendarInterval

        Hour
        6 
        Minute
        10 

He añadido este archivo plist a la carpeta LaunchDaemons de mi carpeta Biblioteca principal. Esto garantizará que sea un demonio global, así que debería tener la mayor probabilidad de activarse correctamente siempre. Además, he dado todos los accesos y permisos relevantes (Accesibilidad, Automatización, acceso a disco, etc.) para que esta configuración funcione correctamente.

Para asegurarme de que el trabajo se cargue correctamente y funcione, utilizo una aplicación llamada Launchcontrol 2. Allí, siempre se carga correctamente y el estado se muestra como OK.

A pesar de todas estas comprobaciones y equilibrios, el script ya no hace clic en la coordenada específica. Siempre funcionaba perfectamente hasta hace una semana y no he realizado ningún cambio en todo este montaje.

La aplicación Launchcontrol 2 tiene algunos registros de lanzamiento(8) del evento de activación del trabajo en el tiempo designado que me gustaría compartir. Quizás ayude con la depuración. Aquí está:

2024-10-22 06:10:03.808584  internal event: WILL_SPAWN, code = 0
2024-10-22 06:10:03.808688  service state: spawn scheduled
2024-10-22 06:10:03.808692  service state: spawning
2024-10-22 06:10:03.808727  launching: xpc event
2024-10-22 06:10:03.810543  xpcproxy spawned with pid 28683
2024-10-22 06:10:03.810593  internal event: SPAWNED, code = 0
2024-10-22 06:10:03.810599  service state: xpcproxy
2024-10-22 06:10:03.810718  internal event: SOURCE_ATTACH, code = 0
2024-10-22 06:10:03.827675  service state: running
2024-10-22 06:10:03.827703  internal event: INIT, code = 0
2024-10-22 06:10:03.827709  job state = running
2024-10-22 06:10:03.827726  Successfully spawned osascript[28683] because xpc event
2024-10-22 06:10:10.104597  exited due to exit(0), ran for 6293ms
2024-10-22 06:10:10.104617  service state: exited
2024-10-22 06:10:10.104630  internal event: EXITED, code = 0
2024-10-22 06:10:10.104633  job state = exited
2024-10-22 06:10:10.104665  service inactive: com.mouseclick.plist
2024-10-22 06:10:10.104681  service state: not running

Hasta donde alcanza mi conocimiento, he revisado todo lo posible desde mi lado y sigo enfrentando este obstáculo. ¡Realmente apreciaría tu apoyo aquí!

Vista condensada de lo que he intentado hasta ahora:

  • En la sección de configuración de Privacidad y Seguridad, habilité la Accesibilidad para osascript, launchcontrol y los editores de script que he utilizado para el Applescript y el archivo plist. Ver imagen adjunta abajo. Configuración de Accesibilidad
  • En la sección de configuración de Privacidad y Seguridad, en Automatización, se ha dado el acceso necesario a Osascript y aplicaciones relevantes. Ver imagen adjunta abajo. Configuración de Automatización
  • Me aseguré de que el trabajo se cargue correctamente sin errores y que sea cargado como un demonio global (agregando el archivo plist al fichero LaunchDaemons en mi carpeta Biblioteca principal). Ver imagen adjunta abajo. Vista del trabajo de Launchcontrol 2
  • Verifiqué el archivo de script y el archivo plist y no encontré errores de sintaxis (se ha compartido el código utilizado para ambos arriba).
  • Ejecuté el archivo de script desde el Editor de Scripts mismo para confirmar si funciona correctamente y obtuve los siguientes resultados. Ver imagen adjunta abajo. Resultados de la ejecución del script

0voto

Linc D. Puntos 11

Su script interactúa con la interfaz de usuario, por lo que no debe ejecutarse como LaunchDaemon. Ver:

Diseño de Daemons y Servicios (developer.apple.com)

Tampoco debería ejecutarse como LaunchAgent, pero podría funcionar si mueves el archivo de trabajo a ~/Library/LaunchAgents. Asegúrate de descargar el trabajo de launchd y cargarlo nuevamente en la nueva ubicación. Pregunta si no sabes cómo hacerlo.

También necesitas mover el archivo de script fuera de la carpeta de Descargas, que está protegida por TCC. Colócalo en ~/Library/Scripts o en algún otro lugar.

Una opción mucho mejor sería utilizar la plantilla de Alarma de Calendario en la aplicación Automator para programar el script. Creo que tienes una pregunta anterior al respecto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X