Så här startar du GUI-applikationer från terminalen

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

Vi ska demonstrera hur man startar en grafisk Mac-app från kommandoraden i OS X, inklusive hur man öppnar specifika filer från kommandoraden med en GUI-app och hur man redigerar och öppnar de filerna med root-åtkomst om det är nödvändigt .

Öppna Mac OS X-program från kommandoraden

Terminal-kommandot för att starta OS X gui-appar kallas lämpligen "öppen" och här är hur det fungerar mest enkelt:

open -a ApplicationName

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

Men öppet är mycket kraftfullare än det. Om du bara skriver "öppna" vid kommandotolken returnerar du den grundläggande hjälpfilen med information om hur du korrekt använder kommandot med en mängd olika flaggor och syntax. Medan det öppna kommandot finns i alla versioner av Mac OS X, varierar förmågan något beroende på vilken version av OS X Macen körs. Men i moderna versioner är det här vad du ser:

$ 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 andra ord kan exemplet enkelt kommandosyntax se ut som följande, öppna "ApplicationName" med filen som finns på sökvägen "/ file / to / open":

open -a ApplicationName /file/to/open

Du noterar att du inte behöver hela sökvägen till programnamnet, men du skulle behöva hela sökvägen till ett filnamn.

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

$ open -a TextWrangler /etc/motd

Nu kan du redigera dessa filer i den bekanta GUI. öppen är smart nog att veta att när du ansöker -a flaggan startar du en applikation så att du inte behöver skriva in hela sökvägen. Självklart behöver det fortfarande hela sökvägen till filen du redigerar dock.

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

Också värt att notera är att om du startar en applikation med mellanslag i namnet, vill du lägga till en backslash efter varje ord. Öppnande av Adobe Photoshop CS skulle se ut så här:

$ open -a Adobe\ Photoshop\ CS

Starta GUI Apps som root från kommandoraden

Du kan till och med öppna filer med sudo med hjälp av det öppna kommandot om du behöver redigera en fil som root, till exempel:

sudo open -a TextEdit /tmp/magicfile

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

Skapa Shell Aliases för ofta lanserade GUI Apps

Så det är typ av smärta i rumpan att skriva ett fullständigt kommando upprepade gånger, eller att skriva ut allt det om och om igen, eller hur? Tja, låt oss göra det enklare genom att ange ett alias till en applikation som ofta lanseras. 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 det med Mac OS X-standard Bash-skalet:

Först starta profilen eller .bash_profilen i en textredigerare:

$ nano .profile

eller

$ open -e .profile

Ignorera vad som helst annat kan vara i den här filen (det kan också vara tomt), lägg till följande till en ny rad:

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

Detta skapar ett alias, så att kommandot "Open-a Adobe \ Photoshop CS" nu förkortas till "Photoshop". Spara .profil, och du är på väg! Du kan använda kommandot alias tillsammans med öppet för nästan vad som helst, var noga med att välja ett alias till ett kommando som inte existerar.

Det öppna kommandot är verkligen användbart som du kan se, om du har några andra bra användningsområden för det i OS X, var noga med att meddela oss i kommentarerna.