¿Cómo puedo configurar un script de shell como un contenedor para el ejecutable principal de una aplicación?

3

Tengo una aplicación que deseo iniciar a través de un script de shell que realiza una configuración y luego ejecuta la aplicación con algunas opciones específicas. Idealmente, esta secuencia de comandos se ejecutaría siempre que la aplicación se inicie normalmente, es decir, cuando hago clic en ella en el dock, hago doble clic en la carpeta Aplicaciones, inicie desde QS, o incluso haga clic en un archivo que se abre en esta aplicación.

Ahora mismo tengo una "aplicación" para el script de AppleScript, pero el inconveniente es que aparece como una aplicación separada de la aplicación principal que se encuentra en mi dock, por lo que debo recordar no hacer clic en la aplicación principal icono, pero lanzar esta aplicación alternativa en su lugar.

Entonces, ¿esto es algo que es posible hacer? Una idea que tuve fue cambiar el nombre del ejecutable principal en la aplicación a otra cosa y luego reemplazarlo con mi script. ¿Es eso algo razonable o hay una mejor solución?

Para aquellos que tienen curiosidad, estoy tratando de configurar Emacs.app para iniciar un daemon y luego abrir con emacsclient. Básicamente, quiero que este script se inicie en lugar de emacs (y voy a modificar el script para tomar los argumentos del archivo y abrirlos también).

    
pregunta Ryan Thompson 31.05.2013 - 16:42

3 respuestas

1

Pude obtener lo que quería al ingresar a la carpeta de aplicaciones Contents/MacOS y cambiar el nombre del binario de Emacs a Emacs.real. Luego puse mi script y lo nombré Emacs para reemplazar el binario, y lo configuré para llamar a Emacs.real después de hacer la configuración necesaria. Luego, al iniciar la aplicación, se inicia mi script.

Desafortunadamente, hay otros problemas con el modo de demonio de Emacs que me impiden usarlo, ¡pero al menos resolví este problema!

    
respondido por el Ryan Thompson 31.05.2013 - 23:13
2

Comenzaría con una herramienta como Platypus para hacer que tu script tenga todos los complementos de una aplicación y prueba para ver si las cosas funcionan como esperado.

Automator también tiene una interfaz gráfica de usuario agradable para decidir cómo manejar los argumentos de una secuencia de comandos, y aquí tenemos varias preguntas que exploran cómo pasar argumentos dentro y fuera de una acción / applet de Automator.

Sin más detalles sobre cómo está diseñado su daemon y cómo lo lanza, solo puedo seleccionar algunos de los elementos de su solución, pero ya que cualquiera puede editar esta respuesta para proporcionar más detalles (o responder de forma independiente). respuesta): tal vez esto pueda hacer que la bola ruede para obtener una solución.

    
respondido por el bmike 31.05.2013 - 18:17
2

Use /Applications/Emacs.app/Contents/MacOS/Emacs (u otro ejecutable en ese directorio).

En general, los paquetes de aplicaciones están estructurados como se muestra arriba. Use la Terminal para ' ls ' hasta el archivo.

    
respondido por el Jan 31.05.2013 - 18:11

Lea otras preguntas en las etiquetas