Comment lancer des applications graphiques depuis le terminal

Nous savons tous comment lancer des applications à partir de l'interface graphique en double-cliquant sur l'icône ou en cliquant sur l'application dans le Dock, et il existe de nombreuses façons de le faire, et elles sont toutes relativement rapides. Cependant, si vous passez un temps décent avec la ligne de commande, c'est bien de pouvoir lancer des applications Mac directement à partir de là. En outre, le Terminal a une part équitable d'applications fonctionnant en mode texte, mais vous souhaitiez peut-être modifier un fichier texte dans l'application TextWrangler d'OS X plutôt que dans le texte nano ou vim.

Nous allons montrer comment lancer une application Mac graphique à partir de la ligne de commande d'OS X, y compris comment ouvrir des fichiers spécifiques depuis la ligne de commande avec une application graphique, et comment éditer et ouvrir ces fichiers avec un accès root si nécessaire .

Ouverture d'applications Mac OS X à partir de la ligne de commande

La commande Terminal pour lancer les applications gui OS X s'appelle de manière appropriée 'open' et voici comment cela fonctionne à son plus simple:

open -a ApplicationName

Cela ouvrira l'application définie nommée "ApplicationName".

Mais ouvert est beaucoup plus puissant que cela. Si vous tapez simplement 'open' à l'invite de commande, vous retournerez le fichier d'aide de base avec des détails sur la façon d'utiliser correctement la commande avec une variété de drapeaux et de syntaxe. Alors que la commande open existe dans toutes les versions de Mac OS X, les capacités varient quelque peu en fonction de la version d'OS X exécutée par Mac. Néanmoins, dans les versions modernes, voici ce que vous verrez:

$ open
Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b ] [-a ] [filenames] [--args arguments]
Help: Open opens files from a shell.
By default, opens each file using the default application for that file.
If the file is in the form of a URL, the file will be opened as a URL.
Options:
-a Opens with the specified application.
-b Opens with the specified application bundle identifier.
-e Opens with TextEdit.
-t Opens with default text editor.
-f Reads input from standard input and opens with TextEdit.
-F --fresh Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
-R, --reveal Selects in the Finder instead of opening.
-W, --wait-apps Blocks until the used applications are closed (even if they were already running).
--args All remaining arguments are passed in argv to the application's main() function instead of opened.
-n, --new Open a new instance of the application even if one is already running.
-j, --hide Launches the app hidden.
-g, --background Does not bring the application to the foreground.
-h, --header Searches header file locations for headers matching the given filenames, and opens them.

En d'autres termes, l'exemple de syntaxe de commande simple pourrait ressembler à ceci, en ouvrant "ApplicationName" avec le fichier situé sur le chemin '/ file / to / open':

open -a ApplicationName /file/to/open

Vous remarquerez que vous n'avez pas besoin du chemin d'accès complet au nom de l'application, mais vous aurez besoin du chemin d'accès complet à un nom de fichier.

L'utilisation est probablement explicite pour ceux qui ont de l'expérience dans l'environnement de ligne de commande, mais pour ceux qui sont nouveaux dans le Terminal, ne soyez pas trop confus, c'est facile à utiliser et nous vous expliquerons. Par exemple, si vous voulez éditer / etc / motd avec TextWrangler pour changer votre Message du jour, mais que vous détestez les éditeurs de ligne de commande nano et vi, voici ce que vous tapez:

$ open -a TextWrangler /etc/motd

Vous pouvez maintenant modifier ces fichiers dans l'interface utilisateur familière. open est suffisamment intelligent pour savoir que lorsque vous appliquez l'option -a, vous lancez une application, vous n'avez donc pas besoin de taper son chemin complet. Évidemment, il aura toujours besoin du chemin complet du fichier que vous éditez.

Il y a beaucoup d'autres usages pour la commande ouverte plutôt que de simplement éditer des fichiers texte, alors utilisez votre imagination et faites preuve de créativité. open peut être particulièrement utile aux administrateurs système qui l'utilisent dans un script shell, peut-être pour lancer une application graphique spécifique à une heure planifiée.

A noter également que si vous lancez une application avec des espaces dans son nom, vous voudrez ajouter une barre oblique inverse après chaque mot, l'ouverture d'Adobe Photoshop CS ressemblera à ceci:

$ open -a Adobe\ Photoshop\ CS

Lancement d'applications GUI en tant que root à partir de la ligne de commande

Vous pouvez même ouvrir des fichiers avec sudo en utilisant la commande open si vous avez besoin de modifier un fichier en tant que root, par exemple:

sudo open -a TextEdit /tmp/magicfile

Cela lancera le fichier cible dans l'application souhaitée en tant qu'utilisateur root, donnant les droits root complets pour modifier et modifier le fichier, ce qui est très utile pour l'édition de nombreux fichiers système. Bien sûr, ne modifiez aucun fichier système si vous ne savez pas ce que vous faites.

Création d'alias de shell pour les applications GUI fréquemment lancées

Donc, c'est assez difficile de taper une commande complète à plusieurs reprises, ou de taper tout ça encore et encore, non? Eh bien, rendons cela plus facile en assignant un alias à une application qui est fréquemment lancée. Nous prenons l'exemple de l'application Adobe Photoshop ci-dessus, car le nom du fichier est long, voici comment nous allons le faire avec le shell Bash par défaut de Mac OS X:

Commencez par lancer le profil ou .bash_profile dans un éditeur de texte:

$ nano .profile

ou

$ open -e .profile

En ignorant tout ce qui peut être dans ce fichier (il peut aussi être vide), ajoutez ce qui suit à une nouvelle ligne:

alias photoshop="open -a Adobe\ Photoshop\ CS"

Cela crée un alias, de sorte que la commande "open -a Adobe \ Photoshop CS" est maintenant réduite à simplement "photoshop". Enregistrer .profile, et vous êtes sur votre chemin! Vous pouvez utiliser la commande alias avec open pour pratiquement n'importe quoi, assurez-vous simplement de choisir un alias pour une commande qui n'existe pas déjà.

La commande open est vraiment pratique, comme vous pouvez le voir, si vous avez d'autres bonnes utilisations pour OS X, assurez-vous de nous le faire savoir dans les commentaires.