2 votos

Tecla de acceso directo para el servicio de automatización sin dar permisos a todas las aplicaciones

He creado un flujo de trabajo de Automator; luego he creado un atajo de teclado en la configuración del teclado para ejecutar esto como una acción rápida al pulsar una tecla.

Todo esto funciona. Pero el flujo de trabajo parece ejecutarse en el contexto de seguridad de la aplicación que estaba activa cuando pulsé la tecla de acceso directo.

La actividad dentro del servicio no tiene nada que ver con la aplicación actual (toma una captura de pantalla y luego hace algo con ella); no accede a la aplicación "actual" de ninguna manera.

Necesita acceder a los Eventos del Sistema, y así entra en juego la seguridad. Luego tengo que habilitar el acceso a esas funciones para cualquier aplicación que esté en primer plano cuando pulse la tecla de acceso rápido.

¿Es posible evitar esto, es decir, ejecutar mi servicio en un contexto propio?

EDITAR para aclarar: El flujo de trabajo hace clic en los menús de las aplicaciones, y envía pulsaciones de teclas.

... take a screenshot ...
... startup GIMP ...

tell application "System Events"
    tell process "GIMP-2.10"

...
        click menu item "From Clipboard" of menu 1 of menu item "Create" of menu 1 of menu bar item "File" of menu bar 1

...
        keystroke " "
...

Como ejemplo, digamos que pulso la tecla de acceso rápido mientras Emacs está delante. Entonces me aparece un aviso de seguridad pidiéndome que permita algunos aspectos de seguridad para Emacs . No quiero darle a Emacs ningún permiso, ni quiero repetir esto para cualquier otra aplicación que pueda estar enfocada cuando haga una captura de pantalla más tarde.

4voto

Zoazoa Puntos 36

Yo tuve el mismo problema. Lo que me funcionó:

1: Guardar el flujo de trabajo del automatizador como una aplicación (Archivo > Convertir en > Aplicación. Guardar > Formato de archivo = Aplicación).

2: A continuación, crear una acción rápida de Automator separada con el único propósito de lanzar la aplicación creada en 1 (Archivo > Nuevo > Acción rápida. Guardar normalmente como un flujo de trabajo).

La aplicación que contiene el flujo de trabajo de destino (1) necesitará entonces que se le den permisos de Accesibilidad a través de lo habitual (Seguridad y Privacidad > Privacidad > Accesibilidad) y el acceso directo a la llave deberá estar vinculado al flujo de trabajo (2) como has descrito.

Esto evita la configuración de seguridad de la aplicación activa en ese momento al ejecutar el flujo de trabajo en una aplicación autónoma (con sus propias preferencias de accesibilidad), negando la necesidad de múltiples permisos.

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