Sådan starter du GUI-applikationer fra terminalen

Anonim

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

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

Åbning af Mac OS X-programmer fra kommandolinjen

Terminalkommandoen til at starte MacOS gui-apps kaldes passende 'åben', og her er, hvordan det fungerer på det mest enkle:

open -a ApplicationName

Det vil åbne den definerede app med navnet "ApplicationName".

Men åben er meget mere kraftfuld end som så. Hvis du bare skriver 'åben' ved kommandoprompten, returnerer du den grundlæggende hjælpefil med detaljer om, hvordan du korrekt bruger kommandoen med en række flag og syntaks.

Mens åben-kommandoen findes i alle versioner af Mac OS X, varierer mulighederne noget afhængigt af, hvilken version af MacOS/Mac OS X Mac'en kører. Ikke desto mindre, i moderne udgivelser er dette, hvad du vil se:

$ åben Brug: åben Hjælp: Åbn åbner filer fra en shell. Åbner som standard hver fil ved hjælp af standardapplikationen for den pågældende fil. Hvis filen er i form af en URL, vil filen blive åbnet som en URL. Indstillinger: -a Åbner med det angivne program. -b Åbner med den angivne applikationspakke-id. -e Åbner med TextEdit. -t Åbner med standard teksteditor. -f Læser input fra standard input og åbner med TextEdit. -F --fresh Starter appen fresh, det vil sige uden at gendanne vinduer. Gemt vedvarende tilstand går tabt, undtagen Unavngivne dokumenter. -R, --reveal Vælger i Finder i stedet for at åbne. -W, --wait-apps Blokerer indtil de brugte applikationer er lukket (selvom de allerede kørte). --args Alle resterende argumenter sendes i argv til applikationens main() funktion i stedet for åbnet. -n, --new Åbn en ny forekomst af programmet, selvom en allerede kører. -j, --hide Starter den skjulte app. -g, --baggrund Bringer ikke ansøgningen i forgrunden.-h, --header Søger efter header-filplaceringer efter overskrifter, der matcher de givne filnavne, og åbner dem.

Med andre ord kunne en simpel kommandosyntaks se ud som følgende, der åbner "ApplicationName" med filen placeret på stien '/file/to/open':

open -a ApplicationName /file/to/open

Du skal bemærke, at du ikke behøver den fulde sti til applikationsnavnet, men du skal bruge den fulde sti til et filnavn.

Brugen er sandsynligvis selvforklarende for dem, der har erfaring i kommandolinjemiljøet, men for dem, der er nye til Terminal, skal du ikke være for forvirret, den er nem at bruge, og vi vil forklare. Hvis du f.eks. vil redigere /etc/motd med TextWrangler for at ændre dit Dagens budskab, men du hader kommandolinjeeditorerne nano og vi, skal du skrive her:

$ åben -a TextWrangler /etc/motd

Nu kan du redigere disse filer i den velkendte GUI. open er smart nok til at vide, at når du anvender flaget -a, starter du et program, så du ikke behøver at skrive i dens fulde sti. Det har naturligvis stadig brug for den fulde sti til den fil, du redigerer.

Der er mange andre anvendelser for kommandoen åben i stedet for blot at redigere tekstfiler, så brug din fantasi og vær kreativ. open kunne være særligt nyttigt for systemadministratorer, der bruger det i et shell-script, måske for at starte en specifik GUI-applikation på et planlagt tidspunkt.

Det er også værd at bemærke, at hvis du starter et program med mellemrum i navnet, vil du gerne tilføje en omvendt skråstreg efter hvert ord. Åbning af Adobe Photoshop CS ville se sådan ud:

$ åben -a Adobe\ Photoshop\ CS

Lancering af GUI-apps som root fra kommandolinjen

Du kan endda åbne filer med sudo ved at bruge open-kommandoen, hvis du har brug for at 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 fulde root-rettigheder til at redigere og ændre filen, hvilket er ret nyttigt til redigering af mange systemfiler. Du skal selvfølgelig ikke ændre nogen systemfiler, hvis du ikke ved, hvad du laver.

Oprettelse af Shell-aliaser til ofte lancerede GUI-apps

Så det er lidt ondt at skrive en fuld kommando gentagne gange, eller at skrive alt det ud igen og igen, ikke? Lad os gøre det nemmere ved at tildele et alias til en applikation, der ofte bliver lanceret. Vi tager den førnævnte Adobe Photoshop-app som et eksempel, da filnavnet er langt, så her er, hvordan vi gør dette med Mac OS X-standard Bash-skallen:

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

$ nano .profile

eller

$ åben -e .profile

Ignorerer hvad der ellers kan være i denne fil (den kan også være tom), tilføjer følgende til en ny linje:

"

alias photoshop=åben -a Adobe\ Photoshop\ CS"

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

Open-kommandoen er virkelig praktisk, som du kan se, hvis du har andre gode anvendelsesmuligheder for den i Mac OS X, så sørg for at fortælle os det i kommentarerne.

Sådan starter du GUI-applikationer fra terminalen