Sådan introduceres GUI-applikationer fra terminalen

Vi ved alle, hvordan man starter applikationer fra GUI'et med et dobbeltklik på ikonet eller klikker på appen i Dock, og der er mange måder at gøre det på, og de er alle relativt hurtige. Hvis du bruger en anstændig tid med kommandolinjen, er det godt at kunne starte Mac apps direkte derfra. Terminalen har også en rimelig andel af applikationer, der kører i tekstbaseret tilstand, men måske ønskede du at redigere en tekstfil i OS X GUI app TextWrangler snarere end den tekstbaserede nano eller vim.

Vi skal demonstrere, hvordan man starter en grafisk Mac-app fra kommandolinjen i OS X, herunder hvordan man åbner specifikke filer fra kommandolinjen med en GUI-app, og hvordan man redigerer og åbner disse filer med rootadgang, hvis det er nødvendigt .

Åbning af Mac OS X-programmer fra kommandolinjen

Terminal kommandoen for at starte OS X gui apps kaldes passende "åben" og her er hvordan det virker på det mest enkle:

open -a ApplicationName

Det åbner den definerede app med navnet "ApplicationName".

Men åben er meget kraftigere end det. Hvis du bare skriver 'åben' på kommandoprompten, returnerer du den grundlæggende hjælpefil med oplysninger om, hvordan du korrekt bruger kommandoen med en række flag og syntax. Mens den åbne kommando findes i alle versioner af Mac OS X, varierer evnerne noget afhængigt af hvilken version af OS X Mac'en kører. Ikke desto mindre er det i moderne udgivelser 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 eksempel simpel kommandosyntax se ud som følgende, åbne "ApplicationName" med filen placeret på stien '/ file / to / open':

open -a ApplicationName /file/to/open

Du skal bemærke, at du ikke behøver hele stien til ansøgningsnavnet, men du ville have brug for hele stien til et filnavn.

Brugen er sandsynligvis selvforklarende for dem, der har erfaring i kommandolinjemiljøet, men for dem der er nye til Terminal, må du ikke være for forvirret, det er let at bruge, og vi vil forklare. For eksempel, hvis du vil redigere / etc / motd med TextWrangler for at ændre din meddelelse om dagen, men du hader kommandolinjeditorerne nano og vi, er det her du vil skrive:

$ open -a TextWrangler /etc/motd

Nu kan du redigere disse filer i den velkendte GUI. åben er smart nok til at vide, at når du anvender -a-flag, lancerer du et program, så du ikke behøver at skrive i sin fulde sti. Selvfølgelig behøver det stadig den fulde sti til den fil, du redigerer.

Der er mange andre anvendelser til den åbne kommando snarere end blot redigering af tekstfiler, så brug din fantasi og få kreativitet. Åbn kan være særlig nyttigt for systemadministratorer, der bruger det i et shell script, måske for at starte en bestemt GUI-applikation på et planlagt tidspunkt.

Det er også værd at bemærke, at hvis du lancerer et program med mellemrum i sit navn, vil du gerne tilføje et backslash efter hvert ord. Åbning Adobe Photoshop CS ville se sådan ud:

$ open -a Adobe\ Photoshop\ CS

Lancering af GUI Apps som root fra kommandolinjen

Du kan endda åbne filer med sudo ved at bruge den åbne kommando, hvis du skal redigere en fil som root, for eksempel:

sudo open -a TextEdit /tmp/magicfile

Dette vil starte målfilen i den ønskede applikation som root-bruger, hvilket giver fuld root-privilegier til redigering og ændring af filen, hvilket er ret nyttigt for redigering af mange systemfiler. Selvfølgelig skal du ikke ændre nogen systemfil, hvis du ikke ved hvad du laver.

Oprettelse af Shell Aliases til ofte lancerede GUI Apps

Så det er lidt af en smerte i rækken for at skrive en fuld kommando gentagne gange, eller at skrive alt det ud igen og igen, right? Nå, lad os gøre det nemmere ved at tildele et alias til et program, der bliver lanceret ofte. Vi tager ovennævnte Adobe Photoshop-app som et eksempel, da filnavnet er langvarigt, så her er hvordan vi gør dette med Mac OS X standard Bash shell:

Start først profilen eller .bash_profilen i en teksteditor:

$ nano .profile

eller

$ open -e .profile

Hvis du ignorerer alt andet, kan det være i denne fil (det kan også være tomt), tilføj følgende til en ny linje:

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

Dette skaber et alias, så kommandoen "open-a Adobe \ Photoshop CS" er nu forkortet til blot 'photoshop'. Gem .profil, og du er på vej! Du kan bruge kommandoen alias i forbindelse med åbent for stort set alt, bare sørg for at vælge et alias til en kommando, der ikke allerede eksisterer.

Den åbne kommando er virkelig praktisk, som du kan se, hvis du har andre gode anvendelser til det i OS X, skal du sørge for at lade os vide i kommentarerne.