4 votes

Différence entre les applications .app et les fichiers dans /usr/bin ?

Je ne comprends pas vraiment la différence. J'ai essayé de placer un fichier .app dans /usr/bin et de l'exécuter à partir du terminal, mais cela n'a rien donné. Quel genre de fichiers doivent être placés là ?

6voto

halr9000 Points 255

Wikipedia a un bon article sur Ensemble d'applications s.

En bref, un .app n'est pas un fichier : c'est une arborescence de répertoires avec une structure spécifique. Le binaire qui s'exécute (c'est-à-dire l'équivalent du binaire que vous trouveriez dans le fichier /usr/bin ) est PackageName.app/Contents/MacOS/PackageName . Cependant, vous ne pouvez (généralement) pas simplement copier ce fichier dans '/usr/bin' et l'exécuter, parce que l'application s'attendra à avoir beaucoup d'autres fichiers dont elle a besoin dans le dossier .app également - par exemple, beaucoup d'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 (donde de signifie german ).

Dans certains cas, le .app peut contenir des exécutables que vous pouvez exécuter directement - par exemple, j'utilise souvent l'application ebook-convert binaire de la calibre.app 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 - ex, /Applications/Safari.app/Contents/MacOS/Safari lancera Safari. Cependant, il faut beaucoup taper - open /Applications/Safari.app est un raccourci qui fait la même chose.

man open contient de nombreux autres exemples d'utilisation de open pour agir comme si l'utilisateur avait double-cliqué sur une icône dans le Finder.

0 votes

Juste une note à ajouter ici. Dans le Finder, vous pouvez voir ce que contient un lot d'applications (ou tout autre lot) en cliquant avec le bouton droit de la souris sur son icône et en sélectionnant "Afficher le contenu du lot" dans le menu contextuel.

4voto

Keith Sirmons Points 2558

Comme l'a dit Tomas Markauskas, le fichier .app est un paquet.

Pourquoi avez-vous essayé de déplacer un fichier .app vers /usr/bin ? Je suppose que ce que vous voulez vraiment savoir, c'est "comment ouvrir un fichier en utilisant Foo.app lorsque je suis en ligne de commande".

Si j'ai raison, la réponse n'est pas de déplacer le fichier .app vers /usr/bin. La bonne réponse est d'utiliser l'option open commandement :

$ open -a Foo some_file

Utilisation de open sans le -a ouvrira le fichier avec son application par défaut -- comme si vous aviez double-cliqué sur some_file dans le Finder.

2voto

Tomas Markauskas Points 709

Le fichier .app n'est en fait pas un fichier, mais un dossier (ou un paquet d'applications) contenant de nombreux fichiers différents. Il contient également les fichiers exécutables que vous exécutez réellement.

0voto

Daniel Von Fange Points 123

Vous pouvez également exécuter l'application directement avec le open commandement :

open /Applications/Safari.app/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X