Existe alguma maneira fácil de acrescentar argumentos de linha de comando a um aplicativo em um Mac? Por exemplo, para executar o Opera no modo quiosque ou usar um perfil diferente no Firefox, posso digitar
$ /Applications/Opera.app/Contents/MacOS/Opera -kioskmode
$ /Applications/Firefox.app/Contents/MacOS/firefox -P profilename -no-remote
No Windows, posso anexar os argumentos às propriedades do atalho, mas como os Macs não usam o atalho por si só e executam os aplicativos diretamente, isso não é possível.
Eu descobri que iniciar os aplicativos através do bash ou do 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"
Posso torná-los executáveis e atribuir um ícone e tudo funciona muito bem, exceto quando eu executo um desses pseudo programas, uma janela do terminal ou um ícone do Applescript permanece aberto enquanto o aplicativo estiver aberto. Presumivelmente, o uso do comando Applescript open
evitaria isso, mas como não estou executando o aplicativo como ele está empacotado (apenas /Applications/Firefox
), ele não funciona.
Portanto, existe uma maneira melhor de executar aplicativos com argumentos de linha de comando? Caso contrário, existe uma maneira de impedir que uma sessão de terminal persistente ou o ícone da Applescript permaneça aberto enquanto o aplicativo está aberto?
Editar
De acordo com uma página do Mozilla Wiki , é melhor usar um script para executar o aplicativo com argumentos. Adicionar um &
ao final do script mata a janela persistente do Terminal. O único aborrecimento agora é que ele abre uma janela do Terminal morta e desconectada (que é melhor que a persistente, mas ainda assim ...)
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox -P default -no-remote &
&
ele ainda pertencente ao Terminal, pode corrigi-lo adicionando a linha disown %/Applications/Firefox.app/Contents/MacOS/firefox
depois de executá-lo e, em seguida, pode fechar o Terminal com segurança, usando AppleScript.