Si può disattivare al volo il Risparmio Energia?

La procedura qui sotto è una rielaborazione (si spera in meglio) di quella trovata sul sito di Wincent Colaiuta.

Il Risparmio Energia è una utilissima funzione, ma a volte ci capita di volerlo disattivare, ad esempio quando stiamo vedendo un filmato e non vogliamo che lo schermo si disattivi dopo pochi minuti di inutilizzo. Aiutandoci con dei piccoli AppleScript possiamo rendere più comode e veloci le operazioni di attivazione/disattivazione del Risparmio Energia. Nell'esempio, come impostazioni per il Risparmio Energia attivo, metteremo 1 minuto per lo stop del monitor e 10 minuti per lo stop generale del sistema. Chiaramente ognuno modificherà questi valori secondo le proprie esigenze. Per conoscere le altre opzioni possibili, consultare il manuale del comando pmset.

Gli AppleScript da realizzare (1) sono semplicissimi:

do shell script "sudo pmset -a sleep 0 dim 0"
(in Mac OS X 10.4 sostituire dim con displaysleep)

per lo script di disattivazione,

do shell script "sudo pmset -a sleep 10 dim 1"
(in Mac OS X 10.4 sostituire dim con displaysleep)

per lo script di attivazione.

Basta salvare questi AppleScript in un posto a portata di mano (il menu mela per chi usa FruitMenu o una cartella nel Dock) per poter attivare o disattivare all'istante il Risparmio Energia.
Il lavoro non è però ancora finito: a complicare un po' le cose c'è il fatto che gli script invocano pmset (il comando da Terminale per impostare il Risparmio Energia) con i privilegi di root, quindi senza l'autenticazione dell'utente gli script non sortiscono alcun effetto. Per aggirare l'ostacolo basta andare a fare una piccola modifica al file /etc/sudoers in modo che il comando sudo pmset possa essere eseguito senza bisogno di autenticazione.
Per prima cosa, chi non ha confidenza con l'editor di testo vi, dovrebbe dare il seguente comando nel Terminale (a meno che non lo abbia già inserito nei file di inizializzazione della shell, come indicato nella Faq 178):

setenv EDITOR /usr/bin/pico (per chi usa la shell tcsh)
export EDITOR=/usr/bin/pico (per chi usa la shell bash)

A questo punto, sempre nel Terminale, bisogna dare il comando

sudo visudo

e il file /etc/sudoers verrà aperto con l'editor scelto. In fondo a questo file si troverà questa riga:

%admin  ALL=(ALL) ALL

Basta modificarla in

%admin  ALL=(ALL) ALL, NOPASSWD: /usr/bin/pmset

salvare le modifiche e chiudere l'editor, e d'ora in poi il comando sudo pmset potrà essere eseguito dagli utenti del gruppo admin senza più bisogno di dover inserire la propria password e quindi gli script potranno funzionare senza intoppi.
Chi volesse dare la possibilità di eseguire il comando sudo pmset anche agli utenti non amministratori, invece di modificare la riga nel modo indicato, dovrebbe aggiungere quest'altra sotto:

ALL  ALL=(root) NOPASSWD: /usr/bin/pmset

(1) Per creare gli AppleScript, bisogna utilizzare l'applicazione Script Editor, che si trova in /Applications/AppleScript.

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]