Cum să lansați aplicații GUI de pe terminal

Anonim

Știm cu toții cum să lansăm aplicații din GUI cu un dublu clic pe pictogramă sau făcând clic pe aplicația din Dock și există numeroase moduri de a face acest lucru și toate sunt relativ rapide. Dacă petreci o cantitate decentă de timp cu linia de comandă, este bine să poți lansa și aplicații Mac direct de acolo. De asemenea, Terminalul are o parte echitabilă de aplicații care rulează în modul bazat pe text, dar poate ați vrut să editați un fișier text în aplicația GUI Mac OS X TextWrangler, mai degrabă decât în ​​nano sau vim bazat pe text.

Vom demonstra cum să lansăm orice aplicație grafică Mac din linia de comandă a MacOS X, inclusiv cum să deschideți anumite fișiere din linia de comandă cu o aplicație GUI și cum să editați și să deschideți acele fișiere cu acces root dacă este necesar.

Deschiderea aplicațiilor Mac OS X din linia de comandă

Comanda Terminal pentru lansarea aplicațiilor MacOS gui se numește în mod corespunzător „deschis” și iată cum funcționează cel mai simplu:

deschide -a ApplicationName

Aceasta va deschide aplicația definită numită „ApplicationName”.

Dar deschis este mult mai puternic decât atât. Dacă tastați doar „deschidere” la promptul de comandă, veți returna fișierul de ajutor de bază cu detalii despre cum să utilizați corect comanda cu o varietate de semnalizatoare și sintaxă.

În timp ce comanda deschisă există în toate versiunile de Mac OS X, abilitățile variază oarecum în funcție de versiunea de MacOS / Mac OS X pe care Mac rulează. Cu toate acestea, în versiunile moderne, asta este ceea ce veți vedea:

$ deschis Utilizare: deschide Ajutor: Deschide deschide fișiere dintr-un shell. În mod implicit, deschide fiecare fișier folosind aplicația implicită pentru acel fișier. Dacă fișierul este sub forma unui URL, fișierul va fi deschis ca URL. Opțiuni: -a Se deschide cu aplicația specificată. -b Se deschide cu identificatorul de pachet de aplicații specificat. -e Se deschide cu TextEdit. -t Se deschide cu un editor de text implicit. -f Citește intrarea de la intrarea standard și se deschide cu TextEdit. -F --fresh Lansează aplicația fresh, adică fără a restaura Windows. Starea persistentă salvată se pierde, cu excepția documentelor fără titlu. -R, --reveal Selectează în Finder în loc să se deschidă. -W, --wait-apps Blochează până când aplicațiile utilizate sunt închise (chiar dacă rulau deja). --args Toate argumentele rămase sunt transmise în argv la funcția main() a aplicației în loc să fie deschise. -n, --new Deschide o nouă instanță a aplicației, chiar dacă una rulează deja. -j, --hide Lansează aplicația ascunsă. -g, --background Nu aduce aplicația în prim-plan.-h, --header Caută locațiile fișierelor antet pentru anteturi care se potrivesc cu numele de fișiere date și le deschide.

Cu alte cuvinte, exemplu de sintaxă de comandă simplă ar putea arăta ca următorul, deschizând „ApplicationName” cu fișierul situat în calea ‘/file/to/open’:

deschide -a ApplicationName /file/to/open

Veți observa că nu aveți nevoie de calea completă către numele aplicației, dar veți avea nevoie de calea completă către numele unui fișier.

Utilizarea se explică probabil de la sine pentru cei care au experiență în mediul liniei de comandă, dar pentru cei care sunt începători în Terminal, nu fiți prea confuzi, este ușor de utilizat și noi. voi explica. De exemplu, dacă doriți să editați /etc/motd cu TextWrangler pentru a vă schimba mesajul zilei, dar urăști editorii de linie de comandă nano și vi, iată ce ați tasta:

$ deschide -a TextWrangler /etc/motd

Acum puteți edita aceste fișiere în GUI familiar. open este suficient de inteligent pentru a ști că atunci când aplicați steag-a, lansați o aplicație, astfel încât nu trebuie să introduceți calea completă. Evident, va avea nevoie totuși de calea completă către fișierul pe care îl editați.

Există multe alte utilizări pentru comanda deschisă, mai degrabă decât editarea fișierelor text, așa că folosește-ți imaginația și fii creativ. open ar putea fi deosebit de util pentru administratorii de sistem care îl folosesc într-un script shell, poate pentru a lansa o anumită aplicație GUI la o oră programată.

De asemenea, merită remarcat faptul că, dacă lansați o aplicație cu spații în numele ei, veți dori să adăugați o bară oblică inversă după fiecare cuvânt, deschiderea Adobe Photoshop CS ar arăta astfel:

$ deschide -a Adobe\ Photoshop\ CS

Lansarea aplicațiilor GUI ca root din linia de comandă

Puteți chiar să deschideți fișiere cu sudo folosind comanda deschide dacă trebuie să editați un fișier ca root, de exemplu:

sudo open -a TextEdit /tmp/magicfile

Acest lucru va lansa fișierul țintă în aplicația dorită ca utilizator root, oferind privilegii complete de root pentru a edita și modifica fișierul, ceea ce este destul de util pentru editarea multor fișiere de sistem. Desigur, nu modificați niciun fișier de sistem dacă nu știți ce faceți.

Crearea aliasurilor Shell pentru aplicațiile GUI lansate frecvent

Așa că este un fel de durere să tastați o comandă completă în mod repetat sau să scrieți toate acestea din nou și din nou, nu? Ei bine, să facem totul mai ușor, atribuind un alias unei aplicații care este lansată frecvent. Vom lua ca exemplu aplicația Adobe Photoshop menționată mai sus, deoarece numele fișierului este lung, așa că iată cum vom face acest lucru cu shell-ul Bash implicit pentru Mac OS X:

Lansați mai întâi profilul sau .bash_profile într-un editor de text:

$ nano .profil

sau

$ deschis -e .profil

Ignorând orice altceva ar putea fi în acest fișier (ar putea fi, de asemenea, gol), adăugați următoarele la o nouă linie:

"

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

Acest lucru creează un alias, astfel încât comanda „deschide -a Adobe\ Photoshop CS” este acum scurtată la simplu „photoshop”. Salvați .profile și sunteți pe drum! Puteți utiliza comanda alias împreună cu deschiderea pentru aproape orice, doar asigurați-vă că alegeți un alias pentru o comandă care nu există deja.

Comanda de deschidere este foarte utilă, după cum puteți vedea, dacă aveți alte utilizări excelente pentru ea în Mac OS X, asigurați-vă că ne spuneți în comentarii.

Cum să lansați aplicații GUI de pe terminal