Jadwalkan Mac untuk tidur, cukup satu kali

18

Mungkinkah menjadwalkan Mac untuk tidur hanya satu kali? Saya tahu saya dapat mengatur jadwal untuk itu, tetapi saya ingin memiliki kendali atas itu.

Jadi kadang-kadang saya akan pergi tidur tetapi meninggalkan transfer file, dan saya ingin Mac tidur sekitar satu jam dari sekarang. Jadi bagaimana saya bisa melakukan itu, tanpa menetapkan jadwal jangka panjang?

Gary
sumber
2
Jika Anda mengunduh di dalam Terminal, Anda dapat menggabungkan kedua perintah yang mirip dengan: sudo sh -c 'wget http://download.com/file.zip; pmset sleepnow'Perintah sleep hanya akan dijalankan ketika wget keluar.
Overbryd

Jawaban:

28

The pmsetperintah terminal harus melakukan apa yang Anda inginkan. Yang berikut ini akan mematikan komputer pada 23:45:00 pada 2 Desember 2014. Namun, perintah tersebut harus dijalankan dari akun administrator:

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

Format tanggal MM / DD / YY tidak dapat diubah; jadi, jika Anda terbiasa dengan format yang berbeda, berhati-hatilah.

Jika Anda melakukan ini secara teratur, Anda dapat menulis suatu fungsi dan menyimpannya ke ~/.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"
}
Kent
sumber
2
Saya mendapatkan kesalahan saat memanggil fungsi sleep-in:local:2: not an identifier: 23:35:31. Ternyata (setidaknya pada instal saya (zsh)) bahwa Anda perlu membungkus ekspresi backtick tanggal itu dalam tanda kutip ganda. Begitu juga:local datetime="`date -v+${minutes}M +"%m/%d/%y %H:%M:%S"`"
Matt Dodge
Fungsi pendamping untuk membatalkan tidur (ganti "\ n" dengan baris baru yang sebenarnya): 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

Secara default tidak ada cara untuk melakukan itu dengan opsi yang Anda miliki di preferensi sistem.

masukkan deskripsi gambar di sini

Tapi, Anda bisa melakukannya dari baris perintah dengan perintah sederhana:

sleep 10; osascript -e 'tell application "System Events" to sleep'
  • sleep 10jeda pelaksanaan perintah berikut selama 10 detik. Jika Anda ingin menit atau jam, Anda harus mengubah 10 dengan jumlah detik yang Anda inginkan.
  • osascript -e 'tell application "System Events" to sleep' Atur komputer untuk mode tidur.
jherran
sumber
1
Dengan coreutils GNU, sleepmenerima argumen seperti 10s, 5m, 3huntuk detik, menit dan jam masing-masing.
AT
1

Semua jawaban di atas berfungsi, tetapi jika Anda ingin melakukan ini secara teratur, saya merekomendasikan perangkat lunak Power Manager , yang memungkinkan Anda untuk mengatur waktu tidur khusus, baik untuk satu kali dan acara berulang sangat mudah (jauh lebih mudah daripada menggunakan perintah Terminal, di pendapat saya). Perangkat lunak ini relatif mahal ($ 50), tetapi ada uji coba 30 hari gratis dengan semua fitur. Anda juga dapat mengontrol Power Manager dari iPhone Anda, yang bagus jika Anda jauh dari komputer Anda tetapi ingin mengaturnya untuk tidur atau mati.


sumber
1

Untuk kontrol daya Mac Anda dari iPhone Anda di jaringan lokal, saya telah menggunakan Off Remote yang juga dapat menjadwalkan dalam 24 jam ke depan tindakan sistem (Shutdown, Lock, Restart, Logoff, Sleep) dan hanya $ 3 di iOS menyimpan tetapi membutuhkan pemasangan aplikasi pembantu tambahan di Mac Anda untuk menerima instruksi dari aplikasi iPhone.

Jawaban lain di sini menyarankan menggunakan perangkat lunak Power Manager yang harganya $ 50, tapi saya akan menyarankan perangkat lunak Keyboard Maestro $ 36 yang sedikit kurang intuitif daripada Power Manager tetapi memiliki fleksibilitas yang lebih besar di luar manajemen daya. Dalam mencari kemampuan untuk menjadwalkan Mac saya untuk tidur, saya ingat bahwa saya memiliki utilitas ini dan dapat dengan cepat menyeret dan menjatuhkan komponen makro dalam KM untuk membuat skrip yang dijeda untuk jangka waktu tertentu dan kemudian meletakkan Mac saya ke tidur:

skrip maestro keyboard untuk membuat Mac tertidur setelah 2 jam

... ada juga tindakan di dalam Keyboard Maestro untuk juga menjadwalkan makro (untuk membuat Mac tertidur, mati, restart, dll.) Yang akan dipicu pada waktu yang ditentukan:

pemicu maestro keyboard untuk makro berdasarkan waktu dan hari dalam seminggu

Keyboard Maestro lebih murah dan jauh lebih kuat untuk mengembangkan makro yang dapat meningkatkan penggunaan Mac Anda, tetapi ada sedikit lebih banyak kurva pembelajaran daripada aplikasi Power Manager.

Alan Cook
sumber