1 votos

Cómo utilizar los servicios de automatización en las aplicaciones creadas con Fluid en Mojave

Tenía un problema con Spotlight y una persona de soporte de Apple me hizo "actualizar" a Mojave y ahora estoy cabreado. ¡Ninguno de mis servicios de Automator funciona ya en mis Fluid Apps! Tengo alrededor de media docena de aplicaciones Fluid para poder asignarlas a todos los escritorios (y no afectar a otras ventanas del navegador) o para poder tener múltiples sesiones con algunos sitios web que sólo admiten 1 ventana del navegador abierta a su sitio (por ejemplo, la aplicación web de galaxia). Tengo más de una docena de servicios de automatización que son extremadamente útiles. La mayoría aceptan texto seleccionado "desde cualquier aplicación" y hacen varias cosas con ese texto (por ejemplo, informar de las estadísticas de los nucleótidos seleccionados).

Ahora, cuando intento ejecutar un servicio sobre un texto seleccionado en una aplicación creada con Fluid, obtengo un error que dice 'La acción "Ejecutar AppleScript" encontró un error: "No está autorizado a enviar eventos de Apple a Eventos del Sistema". Si estos servicios fueran apps, podría añadirlos fácilmente en las preferencias del sistema en Seguridad y Privacidad -> Privacidad -> Accesibilidad, pero son flujos de trabajo instalados como servicios (ubicados en ~/Library/Services/ ) y, por tanto, no se puede añadir. He añadido las aplicaciones creadas por Fluid, pero eso tampoco evita el error.

Hablé con el soporte de Apple y me indicaron que la aplicación creada por Fluid no funcionará con los servicios debido a la firma de código. La aplicación tiene que ser de un desarrollador reconocido por Apple para que se le permita el acceso.

Entiendo perfectamente la preocupación por la seguridad, pero esto es muy frustrante. Alguien sabe cómo permitir que los servicios funcionen en las aplicaciones creadas con Fluid?

enter image description here

ACTUALIZACIÓN: He probado a añadir la aplicación (por ejemplo, "Galaxy1.app") a las secciones de Accesibilidad y Acceso total al disco de la página de preferencias del sistema de seguridad y privacidad y sigo obteniendo el error:

enter image description here enter image description here

1voto

hepcat72 Puntos 103

He encontrado una solución a parte de mi problema. No voy a seleccionar esta respuesta (propia) porque no resuelve todo el problema. La razón principal por la que uso Fluid para envolver la galaxia en una "app" es porque sólo se puede tener 1 ventana de navegador de galaxia abierta. Si tengo 2 abiertas, los cambios realizados en una ventana afectan a la otra, así que cuando estoy trabajando en 2 proyectos diferentes al mismo tiempo, estaba usando aplicaciones Fluid separadas para evitar que los proyectos se pisaran entre sí. Sabía que el navegador privado de Windows también podía lograr esto, pero me gustaba la comodidad de un icono en el dock.

Así que he elaborado un Applescript, guardado como aplicación, que abre una nueva ventana privada de Safari a galaxy.princeton.edu. Luego añadí esa aplicación a Seguridad y Privacidad -> Privacidad -> Accesibilidad. Este script está ligeramente simplificado respecto a lo que realmente he utilizado:

tell application "Safari" to activate

tell application "System Events"
    keystroke "n" using {shift down, command down}
    delay 0.5
    keystroke "http://galaxy"
    key code 47
    keystroke "princeton"
    key code 47
    keystroke "edu/"
    keystroke return
end tell

Tenga en cuenta que, dependiendo de sus preferencias de accesibilidad, Applescript no escribirá números, puntos o algunos otros caracteres, por lo que el key code 47 para los puntos.

Ahora, cada vez que ejecute esta "aplicación" (a la que le di el icono de la galaxia), abrirá una nueva ventana del navegador Safari a la galaxia.

Esto me permite ejecutar mis servicios de automatización en cadenas de ADN en galaxia porque Safari puede recibir permiso para enviar eventos de apple a System Events.app, mientras que las aplicaciones de Fluid no pueden (creo que porque no están firmadas por código).

0 votos

Suponiendo que Safari ya está abierto, los siguientes dos comandos de AppleScript sustituyen al código que has mostrado, aunque es posible que necesites/quieras añadir un delay entre ellos. Este primero no requiere que Safari tenga el foco tell application "System Events" to perform action "AXPress" of menu item "New Private Window" of menu "File" of menu bar item "File" of menu bar 1 of application process "Safari" Este elimina todo el resto de la key code/keystroke comandos: tell application "Safari" to set URL of current tab of front window to "http://galaxy.princeton.edu"

0 votos

Se ha actualizado el código. ¿Tienen alguna sugerencia para el caso en que safari no se esté ejecutando también?

0 votos

Vale la pena una nota: si cambias el código del script/app, tienes que eliminar la app de la accesibilidad y volver a añadirla. Entonces se te pedirá de nuevo que le permitas enviar eventos a SystemEvents.app cuando la ejecutes.

0voto

wch1zpink Puntos 11

Debe permitir el acceso a Automator y a cualquier aplicación creada por Fluid en los menús Accesibilidad y Acceso total al disco de las pestañas Preferencias del sistema/Seguridad y privacidad/Privacidad. Es posible que también tenga que añadir System Events.app para permitir el acceso. Entonces debería ser bueno para ir

enter image description here

enter image description here

0 votos

Ya he añadido una de las aplicaciones a ambos sitios y he salido y reiniciado la aplicación, pero me sigue dando el error.

0 votos

¿Te refieres a añadir la aplicación de Eventos del Sistema a estos dos lugares?

0 votos

Bueno, lo he intentado... el mismo error.

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