Come eseguire le applicazioni GUI come root in Mac OS X.

Coloro che hanno familiarità con la linea di comando sanno che l'esecuzione di cose con privilegi di super utente è tipicamente solo una questione di usare il comando sudo. Ciò è ancora vero con l'avvio di app GUI in OS X con privilegi di root, ma non si tratta solo di anteporre il comando open altrimenti utile, perché 'open' avvia le app come utente originale, con o senza sudo. La soluzione è invece utilizzare sudo che punta direttamente all'eseguibile contenuto all'interno di un determinato file del pacchetto dell'applicazione.

Avvio di OS X GUI App come utente root

La sintassi del comando è la seguente:

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

Nella maggior parte dei casi, saranno le applicazioni memorizzate nella directory / Applications / e l'eseguibile è quasi sempre memorizzato in Package / Contents / MacOS / come qualunque sia il nome dell'applicazione:

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

Ad esempio, questo comando esegue la familiare app TextEdit come root:

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

Per avviare TextEdit come app di sfondo, ovvero non chiudere se si chiude la finestra del terminale, applicare il flag -b su sudo:

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

Puoi confermare che l'applicazione è in esecuzione come root usando il comando ps con grep, sempre usando TextEdit come esempio:

ps au|grep TextEdit

In alternativa, puoi guardare l'app di monitoraggio dei processi di OS X Activity Monitor e trovare l'applicazione in esecuzione come utente "root", come dimostrato nello screenshot in alto e nel breve video qui sotto:

Se intendi eseguire frequentemente un'app specifica come root, potresti prendere in considerazione l'immissione di un alias in .bash_profile per abbreviare la stringa di comando.

Nonostante sia eseguito come root, non tutti i file di sistema possono essere modificabili e alcuni possono essere contrassegnati come "Bloccati" se aperti in alcune app come TextEdit. Spesso questo problema può essere risolto abilitando l'utente root se non lo hai ancora fatto, ma non tutte le app avranno questa limitazione. Tuttavia, per alcune attività come la modifica del file host, è ancora meglio attenersi alla riga di comando e ad un editor di testo, oppure utilizzare un'app come BBEdit o TextWrangler.