Hur man startar GUI-applikationer från terminalen

Anonim

Vi vet alla hur man startar applikationer från GUI med ett dubbelklick på ikonen eller genom att klicka på appen i Dock, och det finns många sätt att göra det, och de är alla relativt snabba. Om du tillbringar en anständig tid med kommandoraden, är det trevligt att kunna starta Mac-appar direkt därifrån också. Terminalen har också en hel del applikationer som körs i textbaserat läge, men du kanske ville redigera en textfil i Mac OS X GUI-appen TextWrangler snarare än den textbaserade nano eller vim.

Vi kommer att demonstrera hur man startar en grafisk Mac-app från kommandoraden i MacOS X, inklusive hur man öppnar specifika filer från kommandoraden med en GUI-app, och hur man redigerar och öppnar dessa filer med root-åtkomst om det behövs.

Öppna Mac OS X-program från kommandoraden

Terminalkommandot för att starta MacOS gui-appar kallas på lämpligt sätt "öppen" och här är hur det fungerar när det är enklast:

open -a ApplicationName

Det öppnar den definierade appen med namnet "ApplicationName".

Men öppen är mycket kraftfullare än så. Om du bara skriver "öppna" vid kommandotolken kommer du att returnera den grundläggande hjälpfilen med information om hur du korrekt använder kommandot med en mängd olika flaggor och syntax.

Medan kommandot öppna finns i alla versioner av Mac OS X, varierar förmågorna något beroende på vilken version av MacOS/Mac OS X som Mac körs. Ändå, i moderna utgåvor är detta vad du kommer att se:

$ öppen Användning: öppen Hjälp: Öppna öppnar filer från ett skal. Som standard öppnas varje fil med standardprogrammet för den filen. Om filen är i form av en URL kommer filen att öppnas som en URL. Alternativ: -a Öppnas med det angivna programmet. -b Öppnas med den angivna applikationspaketidentifieraren. -e Öppnas med TextEdit. -t Öppnas med standardtextredigerare. -f Läser indata från standardinmatning och öppnas med TextEdit. -F --fresh Startar appen fresh, det vill säga utan att återställa fönster. Sparat beständigt tillstånd går förlorat, exklusive namnlösa dokument. -R, --reveal Väljer i Finder istället för att öppna. -W, --wait-apps Blockerar tills de använda programmen stängs (även om de redan kördes). --args Alla återstående argument skickas i argv till programmets main()-funktion istället för att öppnas. -n, --new Öppna en ny instans av programmet även om en redan körs. -j, --hide Startar den gömda appen. -g, --background För inte applikationen i förgrunden.-h, --header Söker efter rubriker som matchar de givna filnamnen och öppnar dem.

Med andra ord, en enkel kommandosyntax kan med andra ord se ut så här, öppnar "ApplicationName" med filen som finns på sökvägen '/file/to/open':

open -a ApplicationName /file/to/open

Du kommer att notera att du inte behöver den fullständiga sökvägen till programnamnet, men du behöver den fullständiga sökvägen till ett filnamn.

Användningen är sannolikt självförklarande för dem som har erfarenhet av kommandoradsmiljön, men för de som är nya på terminalen, var inte alltför förvirrad, den är lätt att använda och vi ska förklara. Om du till exempel vill redigera /etc/motd med TextWrangler för att ändra ditt meddelande för dagen, men du hatar kommandoradsredigerarna nano och vi, skriver du det här:

$ öppna -a TextWrangler /etc/motd

Nu kan du redigera dessa filer i det välbekanta GUI. open är smart nog att veta att när du använder flaggan -a, startar du ett program så att du inte behöver skriva i dess fullständiga sökväg. Uppenbarligen behöver den fortfarande hela sökvägen till filen du redigerar.

Det finns många andra användningsområden för kommandot öppna istället för att bara redigera textfiler, så använd din fantasi och var kreativ. open kan vara särskilt användbart för systemadministratörer som använder det i ett skalskript, kanske för att starta ett specifikt GUI-program vid en schemalagd tidpunkt.

Också värt att notera är att om du startar ett program med blanksteg i namnet, vill du lägga till ett snedstreck efter varje ord, att öppna Adobe Photoshop CS skulle se ut så här:

$ öppna -a Adobe\ Photoshop\ CS

Starta GUI-appar som root från kommandoraden

Du kan till och med öppna filer med sudo genom att använda kommandot open om du behöver redigera en fil som root, till exempel:

sudo open -a TextEdit /tmp/magicfile

Detta kommer att starta målfilen till det önskade programmet som root-användare, vilket ger fullständiga root-privilegier för att redigera och modifiera filen, vilket är mycket användbart för att redigera många systemfiler. Ändra naturligtvis inte någon systemfil om du inte vet vad du gör.

Skapa skalalias för ofta lanserade GUI-appar

Så det är lite jobbigt att skriva ett fullständigt kommando upprepade gånger, eller att skriva ut allt det där om och om igen, eller hur? Tja, låt oss göra det enklare genom att tilldela ett alias till en applikation som ofta startas. Vi tar den tidigare nämnda Adobe Photoshop-appen som ett exempel eftersom filnamnet är långt, så här är hur vi gör detta med Mac OS X-standardbashskalet:

Starta först profilen eller .bash_profile i en textredigerare:

$ nano .profile

eller

$ öppen -e .profile

Om du ignorerar allt annat som kan finnas i den här filen (den kan också vara tom), lägg till följande på en ny rad:

"

alias photoshop=öppna -a Adobe\ Photoshop\ CS"

Detta skapar ett alias, så att kommandot "open -a Adobe\ Photoshop CS" nu förkortas till helt enkelt "photoshop". Spara .profile och du är på väg! Du kan använda aliaskommandot tillsammans med open för praktiskt taget vad som helst, se bara till att välja ett alias till ett kommando som inte redan finns.

Open-kommandot är väldigt praktiskt som du kan se, om du har andra bra användningsområden för det i Mac OS X, var noga med att meddela oss i kommentarerna.

Hur man startar GUI-applikationer från terminalen