¿Hay alguna manera fácil de agregar argumentos de línea de comandos a una aplicación en una Mac? Por ejemplo, para ejecutar Opera en modo quiosco o usar un perfil diferente en Firefox, puedo escribir
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
En Windows puedo agregar los argumentos a las propiedades de acceso directo, pero como las Mac no usan el acceso directo per se y ejecutan las aplicaciones directamente, esto no es posible.
He descubierto que iniciar las aplicaciones a través de bash o Applescript funciona parcialmente:
# Bash
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote
# Applescript
do shell script "exec /Applications/Opera.app/Contents/MacOS/Opera -kioskmode"
Puedo hacer que estos sean ejecutables y asignar un icono y todo funciona muy bien, excepto que cuando ejecuto cualquiera de estos pseudo programas, una ventana de terminal o un icono de Applescript permanece abierto mientras la aplicación esté abierta. Presumiblemente, usar el comando Applescript open
evitaría esto, pero como no estoy ejecutando la aplicación ya que está empaquetada (solo /Applications/Firefox
), no funciona.
Entonces, ¿hay una mejor manera de ejecutar aplicaciones con argumentos de línea de comandos? Si no es así, ¿hay alguna manera de evitar que una sesión de terminal persistente o el icono de Applescript permanezcan abiertos mientras la aplicación está abierta?
Editar
Según una página de Mozilla Wiki , es mejor usar un script para ejecutar la aplicación con argumentos. Agregar un &
al final del script mata la ventana de Terminal persistente. La única molestia ahora es que abre una ventana de Terminal muerta y desconectada (que es mejor que la persistente, pero aún así ...)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &
&
él todavía pertenece a la Terminal, puede arreglarlo agregando la línea disown %/Applications/Firefox.app/Contents/MacOS/firefox
después de ejecutarlo, luego puede cerrar la Terminal de manera segura, utilizando AppleScript.