Le risposte alle domande sul Mac

Posso aprire velocemente elementi in TextEdit con privilegi root?

Argomenti: ApplescriptTerminaleUtility

Author: Stefano Monti

Innanzitutto è bene spiegare che questa procedura si rende necessaria ogni qual volta desideriamo aprire elementi il cui proprietario risulta essere root, il superutente amministrativo di ogni macchina unix, come appunto in Mac OS X nelle cartelle "/var/", "/usr/", "/private/", ecc. e in tutte le relative sottocartelle.
Nelle posizioni appena specificate troviamo che le stesse cartelle e molti degli elementi contenuti sono di proprietà di root, alcune di queste cartelle e molti elementi addirittura in modo esclusivo, quindi neppure accessibili agli utenti amministratori in sola lettura.

Per configurare alcuni parametri di funzionamento di Mac OS X, come spiegato in molte delle faq presenti sul sito faqintosh, si rende necessario modificare tali elementi con privilegi amministrativi.

Esiste un modo molto elaborato per fare ciò, ossia servirsi di una finestra dell'applicazione Terminale e digitare il comando 'sudo', uno spazio di separazione, il path completo all'applicativo contenuto in TextEdit, seguito da un altro spazio di separazione e dal path completo del documento da aprire, quindi una volta premuto invio digitare la password.
Invece di digitare queste due lunghe stringhe, il Terminale permette anche di trascinarvi sopra i due elementi da aprire, occupandosi di completare automaticamente con la funzione drag and drop (trascina e rilascia) la posizione di questi due elementi.

Fino a qui il sistema appare relativamente semplice, ma non veloce, lo script di questa Faq permette di eseguire la stessa identica procedura in modo ancora più semplice.

Grazie a questa droplet (applicazione Script con Drag&Drop) sarà sufficiente trascinare sopra l'applicazione gli elementi che desideriamo aprire in TextEdit con i privilegi di root.
L'applicazione aprirà il programma TextEdit come se fosse stato root a farlo e così il documento trascinato.

Se casualmente avessimo già aperto il programma TextEdit, vedremmo due icone di questo programma nel Dock, proprio perché il programma viene lanciato non tanto quanto processo, ma proprio come processo/utente dall'utenza che lo richiede.

Sarà così possibile modificare il file aperto e salvarlo senza incorrere nei classici messaggi di avvertimento di mancanza di privilegi.

Importante: qualunque modifica ai file aperti con questo sistema va apportata con estrema cautela e cognizione di causa, pena la perdita di funzionalità di Mac OS X. Si consiglia perciò di leggere prima con attenzione la procedura consigliata che richiede di aprire l'elemento con privilegi di root e, cosa ancora più importante, eseguire prima di tutto una copia di sicurezza degli elementi che andrete a modificare.

Alcune note sul codice AppleScript:

  • Anche posizionando la droplet all'interno del menu script essa funzionerà egregiamente. Per attivare il menu script eseguire l'applicazione "Utility AppleScript" presente nella cartella "/Applicazioni/AppleScript/".
  • Viene usata la forma quoted form of POSIX path of …  per ottenere una stringa che riporti il nome dell'alias da aprire tenendo conto di spazi e caratteri speciali.
  • TextEdit.app viene aperto sotto la clausola ignoring application responses, in questo modo lo script conclude e quitta anche durante la sessione di attività di TextEdit (altrimenti rimarrebbe in attesa della sua chiusura, con il rischio di errori di timeout)
Powered by JBLOUD, © 2021 altersoftware.IT