Je ne comprends pas vraiment la différence. J'ai essayé de mettre un fichier .app dans / usr / bin et de l'exécuter depuis le terminal, mais cela ne fait rien. Quel genre de fichiers y vont?
Je ne comprends pas vraiment la différence. J'ai essayé de mettre un fichier .app dans / usr / bin et de l'exécuter depuis le terminal, mais cela ne fait rien. Quel genre de fichiers y vont?
Réponses:
Wikipedia a un bon article sur Bundle d'application s.
En bref, un .app
n'est pas un fichier: c'est une arborescence de répertoires avec une structure spécifique. Le binaire réel qui s'exécute (c’est-à-dire l’équivalent du binaire trouvé dans /usr/bin
) est PackageName.app/Contents/MacOS/PackageName
. Cependant, vous (généralement) ne pouvez pas simplement copier ce fichier dans '/ usr / bin' et l'exécuter, car il s'attend à disposer de nombreux autres fichiers dans le dossier .app. Par exemple, de nombreuses applications ont les fichiers de traduction qui leur permettent de présenter l'interface utilisateur dans différentes langues sous PackageName.app/Contents/Resources/de.lproj
(où de
arrive à dire german
).
Dans certains cas, le .app
bundle peut contenir des exécutables que vous pouvez exécuter directement - par exemple, j’utilise souvent le ebook-convert
binaire du calibre.app
bundle, en exécutant /Applications/calibre.app/Contents/Resources/loaders/ebook-convert
. Dans ce cas, ebook-convert se trouve être un script Python autonome et est parfaitement heureux d'être appelé de cette façon - tous les exécutables ne seront pas aussi heureux.
Vous pouvez généralement commencer un .app
en appelant directement le binaire principal - par exemple, /Applications/Safari.app/Contents/MacOS/Safari
va lancer Safari. Cependant, cela fait beaucoup de dactylographie - open /Applications/Safari.app
est un raccourci qui fait la même chose.
man open
a beaucoup d'autres exemples d'utilisation open
d'agir comme si l'utilisateur avait double-cliqué sur une icône dans le Finder.
Comme l'a dit Tomas Markauskas, le .app est un paquet.
Pourquoi avez-vous essayé de déplacer un fichier .app vers / usr / bin? Je vais deviner que ce que vous voulez vraiment savoir, c'est "comment puis-je ouvrir un fichier en utilisant Foo.app quand je suis en ligne de commande?"
Si je ne me trompe pas, la solution ne consiste pas à déplacer le fichier .app vers / usr / bin. La bonne réponse est d'utiliser le open
commander:
$ open -a Foo some_file
En utilisant open
sans le -a
ouvrira le fichier avec son application par défaut - comme si vous double-cliquiez sur some_file
dans le Finder.
.app n’est en réalité pas un fichier, mais un dossier (ou un ensemble d’applications) contenant de nombreux fichiers différents. Il contient également les fichiers exécutables que vous exécutez réellement.