Come avviare applicazioni GUI dal terminale

Anonim

Sappiamo tutti come avviare le applicazioni dalla GUI con un doppio clic sull'icona o facendo clic sull'app nel Dock, e ci sono numerosi modi per farlo, e sono tutti relativamente veloci. Se trascorri una discreta quantità di tempo con la riga di comando, è bello poter avviare anche le app Mac direttamente da lì. Inoltre, il terminale ha una buona parte di applicazioni che vengono eseguite in modalità basata su testo, ma forse volevi modificare un file di testo nell'app GUI di Mac OS X TextWrangler piuttosto che nano o vim basato su testo.

Dimostreremo come avviare qualsiasi app grafica per Mac dalla riga di comando di MacOS X, incluso come aprire file specifici dalla riga di comando con un'app GUI e come modificare e aprire quei file con accesso root se è necessario.

Apertura di applicazioni Mac OS X dalla riga di comando

Il comando Terminale per avviare le app GUI di MacOS è opportunamente chiamato 'apri' ed ecco come funziona nel modo più semplice:

open -a NomeApplicazione

Verrà aperta l'app definita denominata "ApplicationName".

Ma open è molto più potente di così. Se digiti semplicemente "apri" al prompt dei comandi, restituirai il file della guida di base con i dettagli su come utilizzare correttamente il comando con una varietà di flag e sintassi.

Sebbene il comando di apertura esista in tutte le versioni di Mac OS X, le funzionalità variano leggermente a seconda della versione di MacOS / Mac OS X in esecuzione sul Mac. Tuttavia, nelle versioni moderne questo è ciò che vedrai:

$ open Uso: open Aiuto: Open apre i file da una shell. Per impostazione predefinita, apre ogni file utilizzando l'applicazione predefinita per quel file. Se il file è sotto forma di URL, il file verrà aperto come URL. Opzioni: -a Apre con l'applicazione specificata. -b Si apre con l'identificatore del bundle dell'applicazione specificato. -e Si apre con TextEdit. -t Si apre con l'editor di testo predefinito. -f Legge l'input dallo standard input e si apre con TextEdit. -F --fresh Avvia l'app fresca, cioè senza ripristinare Windows. Lo stato persistente salvato viene perso, esclusi i documenti senza titolo. -R, --reveal Seleziona nel Finder invece di aprire. -W, --wait-apps Blocca fino alla chiusura delle applicazioni utilizzate (anche se erano già in esecuzione). --args Tutti gli argomenti rimanenti vengono passati in argv alla funzione main() dell'applicazione invece di essere aperti. -n, --new Apre una nuova istanza dell'applicazione anche se ne è già in esecuzione una. -j, --hide Avvia l'app nascosta. -g, --background Non porta l'applicazione in primo piano.-h, --header Cerca le posizioni dei file di intestazione per le intestazioni che corrispondono ai nomi di file specificati e li apre.

In altre parole, la sintassi di un semplice comando di esempio potrebbe essere la seguente, aprendo "NomeApplicazione" con il file che si trova nel percorso '/file/a/apri':

open -a ApplicationName /file/da/apri

Noterai che non è necessario il percorso completo del nome dell'applicazione, ma è necessario il percorso completo del nome di un file.

L'utilizzo è probabilmente autoesplicativo per coloro che hanno esperienza nell'ambiente della riga di comando, ma per coloro che sono nuovi al Terminale, non essere troppo confuso, è facile da usare e noi' spiegherò. Ad esempio, se vuoi modificare /etc/motd con TextWrangler per cambiare il tuo messaggio del giorno, ma odi gli editor della riga di comando nano e vi, ecco cosa devi digitare:

$ open -a TextWrangler /etc/motd

Ora puoi modificare questi file nella familiare GUI. open è abbastanza intelligente da sapere che quando applichi il flag -a, stai avviando un'applicazione, quindi non devi digitare il suo percorso completo. Ovviamente, avrà comunque bisogno del percorso completo del file che stai modificando.

Ci sono molti altri usi per il comando apri piuttosto che modificare semplicemente i file di testo, quindi usa la tua immaginazione e diventa creativo. open potrebbe essere particolarmente utile per gli amministratori di sistema che lo utilizzano in uno script di shell, magari per avviare una specifica applicazione GUI in un momento programmato.

Vale anche la pena notare che se stai avviando un'applicazione con spazi nel nome, ti consigliamo di aggiungere una barra rovesciata dopo ogni parola, l'apertura di Adobe Photoshop CS avrà questo aspetto:

$ open -a Adobe\ Photoshop\ CS

Avvio di applicazioni GUI come utente root dalla riga di comando

È anche possibile aprire i file con sudo utilizzando il comando open se è necessario modificare un file come root, ad esempio:

sudo open -a TextEdit /tmp/magicfile

Questo avvierà il file di destinazione nell'applicazione desiderata come utente root, dando privilegi di root completi per modificare e modificare il file, il che è molto utile per modificare molti file di sistema. Naturalmente, non modificare alcun file di sistema se non sai cosa stai facendo.

Creazione di alias di shell per applicazioni GUI lanciate di frequente

Quindi è un po' una scocciatura digitare ripetutamente un comando completo o riscriverlo tutto più e più volte, giusto? Bene, semplifichiamo le cose assegnando un alias a un'applicazione che viene lanciata frequentemente. Prenderemo come esempio la suddetta app Adobe Photoshop poiché il nome del file è lungo, quindi ecco come lo faremo con la shell Bash predefinita di Mac OS X:

Per prima cosa avvia il profilo o .bash_profile in un editor di testo:

$ nano .profile

o

$ open -e .profile

Ignorando qualunque altra cosa possa essere in questo file (potrebbe anche essere vuoto), aggiungi quanto segue a una nuova riga:

"

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

Questo crea un alias, in modo che il comando "apri -a Adobe\ Photoshop CS" sia ora abbreviato in semplicemente "photoshop". Salva .profile e sei sulla buona strada! Puoi usare il comando alias insieme a open praticamente per qualsiasi cosa, assicurati solo di scegliere un alias per un comando che non esiste già.

Il comando apri è davvero utile come puoi vedere, se hai altri ottimi usi per esso in Mac OS X, assicurati di farcelo sapere nei commenti.

Come avviare applicazioni GUI dal terminale