Slik starter du GUI-applikasjoner fra terminalen

Vi vet alle hvordan du starter programmer fra GUI ved å dobbeltklikke på ikonet eller klikke på appen i Dock, og det er mange måter å gjøre det på, og de er alle relativt raske. Hvis du bruker en anstendig tid med kommandolinjen skjønt, er det fint å kunne starte Mac-apps direkte derfra også. Terminalen har også en rettferdig del av applikasjoner som kjører i tekstbasert modus, men kanskje du ønsket å redigere en tekstfil i OS X GUI-appen TextWrangler i stedet for den tekstbaserte nano eller vim.

Vi skal demonstrere hvordan du starter en grafisk Mac-app fra kommandolinjen til OS X, inkludert hvordan du åpner bestemte filer fra kommandolinjen med en GUI-app, og hvordan du redigerer og åpner disse filene med root-tilgang hvis det er nødvendig .

Åpner Mac OS X-programmer fra kommandolinjen

Terminal kommandoen for å starte OS X gui apps er riktig kalt "åpen" og her er hvordan det fungerer på det enkleste:

open -a ApplicationName

Det vil åpne den definerte appen heter "ApplicationName".

Men åpen er mye kraftigere enn det. Hvis du bare skriver "åpne" på ledeteksten, returnerer du den grunnleggende hjelpefilen med detaljer om hvordan du skal bruke kommandoen med en rekke flagg og syntaks. Mens den åpne kommandoen finnes i alle versjoner av Mac OS X, varierer evnerne noe, avhengig av hvilken versjon av OS X Macen kjører. Likevel, i moderne utgivelser er dette det du vil se:

$ 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.

Med andre ord, kan en enkel kommandosyntax se ut som følgende, åpne "ApplicationName" med filen som ligger på banen '/ file / to / open':

open -a ApplicationName /file/to/open

Du merker at du ikke trenger hele banen til programnavnet, men du vil trenge hele banen til et filnavn.

Bruken er trolig selvforklarende for de som har erfaring i kommandolinjemiljøet, men for de som er nye på Terminal, ikke vær forvirret, det er enkelt å bruke, og vi skal forklare. For eksempel, hvis du vil redigere / etc / motd med TextWrangler for å endre Dagens Melding, men du hater kommandolinje redaktører nano og vi, er dette hva du vil skrive:

$ open -a TextWrangler /etc/motd

Nå kan du redigere disse filene i den kjente GUI. Åpen er smart nok til å vite at når du bruker et -flagg, lanserer du et program slik at du ikke trenger å skrive inn hele banen. Åpenbart vil det fortsatt trenge hele banen til filen du redigerer skjønt.

Det er mange andre bruksområder for den åpne kommandoen, i stedet for bare å redigere tekstfiler, så bruk fantasien og bli kreativ. åpen kan være spesielt nyttig for systemadministratorer som bruker det i et shell-skript, kanskje for å starte et bestemt GUI-program på en planlagt tid.

Det er også verdt å merke seg at hvis du lanserer et program med mellomrom i navnet, vil du legge til et tilbakeslag etter hvert ord. Å åpne Adobe Photoshop CS ser slik ut:

$ open -a Adobe\ Photoshop\ CS

Lanserer GUI Apps som roten fra kommandolinjen

Du kan til og med åpne filer med sudo ved å bruke den åpne kommandoen hvis du trenger å redigere en fil som rot, for eksempel:

sudo open -a TextEdit /tmp/magicfile

Dette vil lansere målfilen til ønsket program som rotbruker, og gi full roten privilegier for å redigere og endre filen, noe som er ganske nyttig for redigering av mange systemfiler. Selvfølgelig må du ikke endre noen systemfil hvis du ikke vet hva du gjør.

Opprette Shell Aliases for ofte lanserte GUI Apps

Så det er litt av en smerte i rumpen å skrive en full kommando gjentatte ganger, eller å skrive ut alt det ut igjen og igjen, ikke sant? Vel, la oss gjøre det lettere ved å tildele et alias til et program som blir ofte lansert. Vi tar den førnevnte Adobe Photoshop-appen som et eksempel siden filnavnet er lang, så her er hvordan vi gjør dette med Mac OS X-standard Bash-skallet:

Først starter du profilen eller .bash_profilen i en tekstredigerer:

$ nano .profile

eller

$ open -e .profile

Ignorerer alt annet kan være i denne filen (det kan også være tomt), legg til følgende i en ny linje:

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

Dette lager et alias, slik at kommandoen "Open-a Adobe \ Photoshop CS" nå er forkortet til bare "photoshop". Lagre .profile, og du er på vei! Du kan bruke alias-kommandoen sammen med åpne for nesten alt, bare vær sikker på å velge et alias til en kommando som ikke allerede eksisterer.

Den åpne kommandoen er veldig praktisk som du kan se, hvis du har andre flotte bruksområder for den i OS X, sørg for å gi oss beskjed i kommentarene.