Com iniciar aplicacions GUI des del terminal

Anonim

Tots sabem com llançar aplicacions des de la GUI amb un doble clic a la icona o fent clic a l'aplicació al Dock, i hi ha moltes maneres de fer-ho, i totes són relativament ràpides. Tanmateix, si passeu una bona quantitat de temps amb la línia d'ordres, també és bo poder llançar aplicacions de Mac directament des d'allà. A més, el Terminal té una bona part d'aplicacions que s'executen en mode basat en text, però potser volíeu editar un fitxer de text a l'aplicació GUI de Mac OS X TextWrangler en lloc del nano o vim basat en text.

Anem a demostrar com llançar qualsevol aplicació gràfica de Mac des de la línia d'ordres de MacOS X, inclosa com obrir fitxers específics des de la línia d'ordres amb una aplicació GUI i com editar i obrir aquells fitxers amb accés root si és necessari.

Obrir aplicacions de Mac OS X des de la línia d'ordres

L'ordre del terminal per llançar aplicacions de gui de MacOS s'anomena adequadament "obert" i aquí és com funciona de la manera més senzilla:

obre -a ApplicationName

Això obrirà l'aplicació definida anomenada “ApplicationName”.

Però obert és molt més poderós que això. Si només escriviu "obrir" a l'indicador d'ordres, tornareu el fitxer d'ajuda bàsic amb detalls sobre com utilitzar correctament l'ordre amb una varietat de senyals i sintaxis.

Tot i que l'ordre obert existeix a totes les versions de Mac OS X, les habilitats varien una mica en funció de la versió de MacOS / Mac OS X que s'executi el Mac. No obstant això, a les versions modernes això és el que veuràs:

$ obert Ús: obrir Ajuda: Obrir obre fitxers des d'un shell. De manera predeterminada, obre cada fitxer mitjançant l'aplicació predeterminada per a aquest fitxer. Si el fitxer té la forma d'una URL, el fitxer s'obrirà com a URL. Opcions: -a S'obre amb l'aplicació especificada. -b S'obre amb l'identificador de paquet d'aplicacions especificat. -e S'obre amb TextEdit. -t S'obre amb l'editor de text predeterminat. -f Llegeix l'entrada de l'entrada estàndard i s'obre amb TextEdit. -F --fresh Llança l'aplicació fresca, és a dir, sense restaurar Windows. L'estat persistent desat es perd, excepte els documents sense títol. -R, --reveal Selecciona al Cercador en lloc d'obrir. -W, --wait-apps Bloqueja fins que les aplicacions utilitzades es tanquin (encara que ja s'estaven executant). --args Tots els arguments restants es passen en argv a la funció main() de l'aplicació en lloc d'obrir-se. -n, --new Obre una nova instància de l'aplicació encara que una ja s'està executant. -j, --hide Inicia l'aplicació oculta. -g, --background No posa l'aplicació en primer pla.-h, --header Cerca a les ubicacions dels fitxers de capçalera les capçaleres que coincideixin amb els noms de fitxer donats i les obre.

En altres paraules, un exemple de sintaxi d'ordres simple podria semblar a la següent, obrint "ApplicationName" amb el fitxer situat al camí "/fitxer/a/obrir":

open -a ApplicationName /file/to/open

Tu notaràs que no necessites la ruta completa al nom de l'aplicació, però sí la ruta completa a un nom de fitxer.

L'ús s'explica per si mateix per a aquells que tenen experiència en l'entorn de la línia d'ordres, però per a aquells que són nous al Terminal, no us confongueu massa, és fàcil d'utilitzar i nos altres. explicaré. Per exemple, si voleu editar /etc/motd amb TextWrangler per canviar el vostre missatge del dia, però odies els editors de línia d'ordres nano i vi, aquí teniu el que escriureu:

$ obert -a TextWrangler /etc/motd

Ara podeu editar aquests fitxers a la GUI familiar. open és prou intel·ligent per saber que quan apliqueu el senyalador -a, esteu llançant una aplicació, de manera que no cal que introduïu el seu camí complet. Òbviament, encara necessitarà el camí complet al fitxer que esteu editant.

Hi ha molts altres usos per a l'ordre obert en lloc d'editar fitxers de text, així que utilitzeu la vostra imaginació i sigueu creatius. open podria ser especialment útil per als administradors del sistema que l'utilitzen en un script d'intèrpret d'ordres, potser per llançar una aplicació GUI específica a una hora programada.

També val la pena assenyalar que si inicieu una aplicació amb espais al seu nom, voldreu afegir una barra invertida després de cada paraula, obrir Adobe Photoshop CS seria així:

$ obert -a Adobe\ Photoshop\ CS

Llançament d'aplicacions GUI com a root des de la línia d'ordres

Fins i tot podeu obrir fitxers amb sudo utilitzant l'ordre open si necessiteu editar un fitxer com a root, per exemple:

sudo open -a TextEdit /tmp/magicfile

Això iniciarà el fitxer de destinació a l'aplicació desitjada com a usuari root, donant-li privilegis d'arrel complets per editar i modificar el fitxer, la qual cosa és molt útil per editar molts fitxers del sistema. Per descomptat, no modifiqueu cap fitxer del sistema si no saps què estàs fent.

Creació d'àlies d'intèrpret d'ordres per a aplicacions d'interfície gràfica d'usuari llançades amb freqüència

Per tant, és una mena de dolor escriure una ordre completa repetidament, o escriure tot això una i altra vegada, oi? Bé, fem-ho més fàcil assignant un àlies a una aplicació que s'inicia amb freqüència. Prenem com a exemple l'esmentada aplicació Adobe Photoshop, ja que el nom del fitxer és llarg, així que així ho farem amb l'intèrpret d'ordres Bash predeterminat de Mac OS X:

Primer inicieu el perfil o .bash_profile en un editor de text:

$ nano .profile

o

$ obert -e .perfil

Ignorant qualsevol altra cosa que hi hagi en aquest fitxer (també podria estar buit), afegiu el següent a una línia nova:

"

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

Això crea un àlies, de manera que l'ordre "obre -a Adobe\ Photoshop CS" ara s'escurça a simplement "photoshop". Desa .profile i ja estàs en camí! Podeu utilitzar l'ordre d'àlies juntament amb l'obertura per pràcticament qualsevol cosa, només assegureu-vos d'escollir un àlies per a una ordre que encara no existeix.

L'ordre d'obertura és molt útil, com podeu veure, si teniu algun altre ús fantàstic per a Mac OS X, assegureu-vos de fer-nos-ho saber als comentaris.

Com iniciar aplicacions GUI des del terminal