A Wikipédia tem um bom artigo sobre Pacote de aplicativos s.
Em suma, um .app
não é um arquivo: é uma árvore de diretórios com uma estrutura específica. O binário real que é executado (ou seja, o equivalente do binário que você encontraria em /usr/bin
) é PackageName.app/Contents/MacOS/PackageName
. No entanto, você (geralmente) não pode simplesmente copiar o arquivo para '/ usr / bin' e executá-lo, porque ele espera ter muitos outros arquivos necessários dentro da pasta .app - por exemplo, muitos aplicativos têm os arquivos de tradução que permitem que eles apresentem a interface do usuário em diferentes idiomas em PackageName.app/Contents/Resources/de.lproj
(onde de
significa german
).
Em alguns casos, o pacote .app
pode conter executáveis que você pode executar diretamente - por exemplo, eu geralmente uso o binário ebook-convert
do pacote calibre.app
, executando /Applications/calibre.app/Contents/Resources/loaders/ebook-convert
. Neste caso, o e-book-convertido é um script python auto-suficiente e é perfeitamente feliz de ser chamado assim - nem todos os executáveis serão tão felizes.
Normalmente, você pode iniciar um .app
chamando o binário principal diretamente - por exemplo, /Applications/Safari.app/Contents/MacOS/Safari
iniciará o Safari. No entanto, isso é um monte de digitação - open /Applications/Safari.app
é um atalho que faz a mesma coisa.
man open
tem muitos outros exemplos de usar open
para agir como se o usuário tivesse clicado duas vezes em um ícone no localizador.