Hvordan kjøre GUI-apper som root i Mac OS X

Anonim

De som er kjent med kommandolinjen vet at å kjøre ting med superbrukerprivilegier vanligvis bare er et spørsmål om å bruke sudo-kommandoen. Det gjelder fortsatt med å lansere GUI-apper i OS X med root-privilegier, men det er ikke bare et spørsmål om å sette sudo på den ellers nyttige åpne-kommandoen, fordi "open" starter apper som den opprinnelige brukeren, med eller uten sudo. Løsningen er i stedet å bruke sudo-peker direkte på den kjørbare filen i en gitt programpakkefil.

Lanser OS X GUI-apper som root-bruker

Kommandosyntaksen er som følger:

sudo /Path/To/Application/ApplicationName.app/Path/To/Executable

I de fleste tilfeller vil det være applikasjoner som er lagret i /Applications/-katalogen, og den kjørbare filen er nesten alltid lagret i Package/Contents/MacOS/ uansett hva applikasjonsnavnet er:

sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName

For eksempel kjører denne kommandoen den velkjente TextEdit-appen som root:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit

For å starte TextEdit som en bakgrunnsapp, noe som betyr at den ikke lukkes hvis du lukker terminalvinduet, bruk -b-flagget på sudo: sudo -b /Applications/TextEdit .app/Contents/MacOS/TextEdit

Du kan bekrefte at applikasjonen kjører som root ved å bruke ps-kommandoen med grep, igjen ved å bruke TextEdit som eksempel:

ps au|grep TextEdit

Alternativt kan du se på OS X-prosessadministrasjonsappen Activity Monitor og finne applikasjonen som kjører der som "root"-bruker, som vist i skjermbildet øverst og den korte videoen nedenfor:

Hvis du har tenkt å kjøre en bestemt app ofte som root, kan du vurdere å plassere et alias i .bash_profile for å forkorte kommandostrengen.

Til tross for at de kjører som root, kan det hende at ikke alle systemfiler kan endres, og noen kan merkes som "Låst" når de åpnes i enkelte apper som TextEdit. Det problemet kan ofte løses ved å aktivere root-brukeren hvis du ikke har gjort det ennå, men ikke alle apper vil ha den begrensningen.Ikke desto mindre, for visse oppgaver som å redigere vertsfilen er det fortsatt bedre å holde seg til kommandolinjen og en tekstbasert editor, eller bruke en app som BBEdit eller TextWrangler.

Hvordan kjøre GUI-apper som root i Mac OS X