Pianifica un Mac per dormire, solo una volta


18

È possibile programmare la sospensione di un Mac solo una volta? So che posso impostare un programma per questo, ma voglio avere il controllo su di esso.

Quindi ogni tanto vado a letto, ma lascio un trasferimento di file e voglio che il Mac dorma tra circa un'ora da ora. Quindi come potrei fare per farlo, senza impostare un programma a lungo termine?


2
Se stai scaricando dal Terminale, puoi combinare entrambi i comandi in modo simile a: sudo sh -c 'wget http://download.com/file.zip; pmset sleepnow'Il comando sleep verrà eseguito solo quando wget esce.
Overbryd il

Risposte:


28

Il pmsetcomando del terminale dovrebbe fare quello che vuoi. Di seguito il computer si spegnerà alle 23:45:00 del 2 dicembre 2014. Tuttavia, il comando deve essere eseguito da un account amministratore:

sudo pmset schedule sleep "12/02/14 23:45:00"

Il formato data MM / GG / AA non può essere modificato; quindi, se sei abituato a un formato diverso, fai attenzione.

Se lo fai su base regolare, puoi scrivere una funzione e salvarla sul tuo ~/.profile:

# Schedule sleep in X minutes, use like: sleep-in 60
function sleep-in() {
  local minutes=$1
  local datetime=`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`
  sudo pmset schedule sleep "$datetime"
}

2
Stavo ricevendo un errore quando ho chiamato la funzione sleep-in:local:2: not an identifier: 23:35:31. Si scopre (almeno sulla mia installazione (zsh)) che è necessario racchiudere quell'espressione backtick tra virgolette doppie. Quindi fai:local datetime="`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`"
Matt Dodge il

Funzione companion per la cancellazione dei sleep (sostituisci "\ n" con le nuove righe effettive): function sleep-cancel-all() {\n NUM_OF_SLEEPS=$(pmset -g sched | wc -l)\n if [[ $NUM_OF_SLEEPS -gt 0 ]]; then\n # The first line of output is a header, ignore it.\n NUM_OF_SLEEPS=$(expr $NUM_OF_SLEEPS - 1)\n seq $NUM_OF_SLEEPS | xargs -Iz sudo pmset schedule cancel 0\n fi\n }\ n
KFunk

7

Di default non c'è modo di farlo con le opzioni che hai nelle preferenze di sistema.

inserisci qui la descrizione dell'immagine

Ma potresti farlo dalla riga di comando con un semplice comando:

sleep 10; osascript -e 'tell application "System Events" to sleep'
  • sleep 10mettere in pausa l'esecuzione del comando seguente per 10 secondi. Se vuoi minuti o ore, devi cambiare 10 con il numero di secondi che desideri.
  • osascript -e 'tell application "System Events" to sleep' spegni il computer.

1
Con coreutils GNU, sleepaccetta argomenti quali 10s, 5m, 3hper secondi, minuti e ore rispettivamente.
AT

1

Tutte le risposte di cui sopra funzionano, ma se si desidera farlo regolarmente, consiglio il software Power Manager , che consente di impostare tempi di sospensione personalizzati, sia per una volta che ricorrenti eventi molto facilmente (molto più facilmente rispetto all'utilizzo dei comandi Terminale, in la mia opinione). Il software è relativamente costoso ($ 50), ma c'è una prova gratuita di 30 giorni con tutte le funzionalità. Puoi anche controllare Power Manager dal tuo iPhone, il che è bello se sei lontano dal tuo computer ma vuoi impostarlo in modalità sospensione o spegnimento.


1

Per il controllo dell'alimentazione del tuo Mac dal tuo iPhone su una rete locale, ho utilizzato Off Remote che può anche programmare entro le prossime 24 ore un'azione di sistema (spegnimento, blocco, riavvio, disconnessione, sospensione) ed è solo $ 3 in iOS negozio ma richiede l'installazione di un'app di supporto aggiuntiva sul tuo Mac per ricevere le istruzioni dall'app per iPhone.

Un'altra risposta qui suggerita di utilizzare il software Power Manager che costa $ 50, ma suggerirei il software $ 36 Keyboard Maestro che è un po 'meno intuitivo di Power Manager ma ha una maggiore flessibilità oltre la gestione dell'alimentazione. Durante la ricerca della possibilità di pianificare la sospensione del Mac, mi sono ricordato di disporre di questa utility e di poter trascinare e rilasciare rapidamente i componenti macro in KM per creare uno script in pausa per un determinato periodo di tempo, quindi impostare il Mac su dormire:

tastiera maestro script per mettere Mac a dormire dopo 2 ore

... c'è anche un'azione all'interno di Keyboard Maestro per programmare anche le macro (per mettere il Mac in stop, spegnimento, riavvio, ecc.) Da attivare in determinati orari:

trigger maestro tastiera per macro in base a ora e giorno / i della settimana

Keyboard Maestro è più economico e molto più robusto per lo sviluppo di macro in grado di migliorare l'uso del tuo Mac, ma c'è un po 'più di una curva di apprendimento rispetto all'applicazione Power Manager.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.