Come tagliare il messaggio "Questo computer è stato programmato per andare a dormire automaticamente" e inviarlo a dormire immediatamente?

2

Si tratta di un Mac mini collegato a un touchscreen in esecuzione in una scuola pubblica, visualizzando un browser in modalità kiosk. Voglio che il Mac vada al sonno programmato dopo che la scuola è finita.

Preflight risparmio energetico consente di impostare un programma di sonno. Quando è giunto il momento in cui dovrebbe iniziare il sonno programmato, viene visualizzato un prompt con quel messaggio menzionato nell'oggetto, contando tra 10 minuti e 0 e consentendo agli utenti di interrompere tale processo.

Per evitare che qualcuno interrompa quel processo, mi piacerebbe tagliare quel messaggio e mandare il Mac a dormire immediatamente quando è arrivato il momento.

C'è qualche possibilità di lasciare quel messaggio fuori?

O altre alternative?

    
posta leymannx 22.03.2013 - 14:48
fonte

2 risposte

2

launchd ( ref ) è il metodo preferito per pianificare eventi in OS X, anziché utilizzare cron .

Ecco un metodo per mettere un computer OS X in modalità di sospensione in un momento specifico utilizzando gli strumenti OS X incorporati senza il prompt di emergenza. Riattivare il computer può ancora essere gestito tramite Preferenze di Sistema → Risparmio Energia → Pianificazione.

Crea innanzitutto il seguente script di shell in /usr/local/bin denominato sleepnow.sh :

#!/bin/sh
pmset sleepnow

Quindi creare un file plist launchd per la pianificazione di uno script da eseguire quotidianamente. Sarebbe come questo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.myschoolname.sleep</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/sh</string>
        <string>/usr/local/bin/sleepnow.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>14</integer>
        <key>Minute</key>
        <integer>00</integer>
    </dict>
</dict>
</plist>

Probabilmente vorrai metterlo in /System/Library/LaunchDaemons/ con il nomefile org.myschoolname.sleep.plist . Regola l'ora e il nome secondo necessità.

Puoi caricare il plist usando il comando sudo launchctl load -w /System/Library/LaunchDaemons/org.myschoolname.sleep.plist o riavviare il computer e caricarlo all'avvio del sistema.

Se non ti senti a tuo agio con l'utilizzo di launchd file e strumenti da riga di comando, cerca l'app OS X a pagamento denominata Lingon che gestisce la creazione del file plist e lo carica.

Ecco un buon riferimento su pmset , che è lo strumento da riga di comando per la gestione delle impostazioni di alimentazione in OS X .

Sebbene pmset possa essere usato per impostare i programmi di sospensione e di veglia, riceverai comunque quella finestra di avviso in caso di sospensione programmata. Il comando pmset sleepnow fa sì che il computer entri in modalità di sospensione immediatamente senza un avviso.

    
risposta data 22.03.2013 - 21:03
fonte
1

Potresti eseguire un cron job che mette il Mac in stop a una certa ora ogni giorno. Ciò causerebbe semplicemente che il Mac diventasse nero, direttamente nel sonno, senza alcun tipo di avviso in un momento specifico.

SleepNow è un file binario di Unix che mette immediatamente in stop il Mac

Cronnix è una GUI gratuita per l'impostazione di cron jobs

Scarica entrambi. Muovi Cronnix nella cartella / Applicazioni e SleepNow in una cartella a tua scelta. Apri Cronnix e crea un nuovo lavoro, imposta i parametri temporali e nel campo "comando" inserisci la posizione del binario SleepNow. Supponendo che tutto sia impostato correttamente, il Mac andrà direttamente in modalità di sospensione, senza alcun avviso o richiesta, alle ore specificate.

    
risposta data 22.03.2013 - 16:45
fonte

Leggi altre domande sui tag