Tampilan bangun dari terminal, bangun umum


20

Ini adalah pertanyaan dua bagian. Pertanyaan praktis, "bagaimana" adalah yang pertama, dan kemudian saya meminta saran konfigurasi.

Pertama, saya meletakkan monitor saya untuk tidur di malam hari, dan saya ingin dapat membangunkan monitor dari jarak jauh. Apakah ada utilitas baris perintah yang dapat saya gunakan untuk membangunkannya melalui SSH? Saya tahu tentang WakeOnLan, tapi itu sepertinya berlebihan.

Kedua, seluruh alasan saya ingin membangunkan tampilan saya dari jarak jauh berkaitan dengan bagaimana pengaturan penghematan daya Lion berubah. Remote infra merah Apple tidak lagi membangunkan layar. Ini adalah masalah besar untuk sebuah mesin yang pada awalnya saya beli untuk menjadi desktop / home theatre pc gabungan, karena mengalahkan setengah dari tujuannya. Jadi, apakah ada yang punya ide / saran apa yang harus dilakukan tentang ini? Ini terbuka, saya tahu.

Jawaban:


25

Cara termudah untuk melakukan ini melalui SSH adalah menggunakan caffeinate -u(tersedia sejak OS X 10.9 saya pikir) untuk mensimulasikan aktivitas pengguna.

Tambahkan bendera -t 5untuk menentukan batas waktu 5 detik (jika tidak, Anda harus ctrl+ ctidak mengonsumsi kafein).


1
begitulah (+) untuk jawaban Anda yang belum diperhatikan. Saya memiliki begitu banyak dari diri saya, di mana ppl datang mengajukan pertanyaan yang lebih baru untuk datang kembali untuk memeriksa jawaban.
Ruskes

1
Menurut halaman manual (di Sierra Tinggi), 5 detik adalah defaul untuk -uopsi: Jika batas waktu tidak ditentukan dengan opsi '-t', maka pernyataan ini diambil dengan default batas waktu 5 detik
JJarava

9

Anda dapat gunakan

pmset schedule wake "01/01/2012 20:00:00"

untuk mengaktifkan layar tidur pada Mac yang "terjaga". Ganti bagian tanggal / waktu dengan waktu saat ini tentunya.


9

Bangun: caffeinate -u -t 2

Tidur: pmset displaysleepnow


Solusi bagus! Meskipun tidak pernah digunakan caffeinateuntuk menyalakan layar, tapi saya kira itu berhasil.
JMY1000

7

Bangun Layar dari Baris Perintah

Untuk membangunkan layar Anda dari jarak jauh, coba jalankan AppleScript pada baris perintah:

osascript -e 'tell application "System Events" to key code 123'

Ini akan mensimulasikan menekan tombol kursor dan harus membuat Mac OS X 10 percaya pengguna aktif di komputer.

AppleScript ini didasarkan pada jawabannya, Bagaimana cara mengotomatiskan penekanan tombol dalam AppleScript?

Bangun Layar setelah Bangun dengan Remote

Jika Anda membangunkan Mac menggunakan remote dan layar tidak menyala, coba Bantu Bantuan . Ini tidak dirancang untuk situasi ini tetapi mungkin hanya berfungsi.

Wake Assist mensimulasikan klik mouse setelah Mac Anda bangun. Mouse diklik dua kali di kiri atas tampilan utama Anda. Wake Assist tidak akan melakukan apa-apa jika mendeteksi pengguna tetapi jika komputer bangun dan menganggur, maka mouse diklik untuk Anda.


1
Masalah AppleScript tidak berhasil untuk saya. Saya mendapatkan gambar hitam screencapturebahkan setelah menunggu beberapa menit.
lhf

Sudahkah Anda mencoba penekanan tombol yang disimulasikan lainnya - mungkin kunci kursor tidak cukup? Apakah Anda memerlukan kata sandi saat bangun?
Graham Miln

1
Bekerja dengan baik untuk saya di OS X 10.6
claytron

3

wuc menulis:

Anda dapat gunakan

pmset schedule wake "01/01/2012 20:00:00"

untuk mengaktifkan layar tidur pada Mac yang "terjaga". Ganti bagian tanggal / waktu dengan waktu saat ini tentunya.

Namun, itu tidak berfungsi untuk saya pada sekitar 2008 iMac berjalan 10.9.1 atau akhir 2010 MacBook Air menjalankan 10.9.2. Saya tidak yakin apakah ini ada hubungannya dengan manajemen energi Mavericks atau perangkat kerasnya, atau apa.

Saya bisa membuatnya bekerja dengan mengatur waktu bangun menjadi 15 detik di masa depan. Kadang-kadang saya bisa membuatnya bekerja dengan pengaturan serendah 12 atau 13, tetapi tidak andal. Tetapi mungkin ada faktor-faktor lain yang tidak saya sadari pada saat itu, tetapi 15 berhasil, jadi saya menggunakan 15.

Tetapi bagaimana Anda menghitung 15 detik ke masa depan secara terprogram?

Saya menggunakan gdatedari paket GNU Coreutils ( datedi OS X mungkin bisa melakukan ini, tetapi jika bisa, saya tidak tahu caranya, dan saya sudah gdatemenginstalnya):

[untuk digunakan datealih-alih gdatemenggunakan alias set_wake_time = 'date "-v + $ {OFFSET} S" "+% D% T"']

Berikut skrip yang saya gunakan:

#!/bin/zsh -f

# how many seconds into the future we want to wake the display
# 15 seems to work reliably. YMMV.
OFFSET=15

# to calculate the time, we need `gdate`
alias set_wake_time='/usr/local/bin/gdate --date "+${OFFSET} sec" "+%m/%d/%g %H:%M:%S"'

# this is where we set the wake command
# if it doesn't succeed the script will exit immediately
/usr/bin/sudo /usr/bin/pmset schedule wake "`set_wake_time`" || exit 1

# if you were not testing this, you'd probably want to end at the
# next line. Just remove the leading '#'
#exit 0
#######################################################

### Everything below this line is only needed during testing ###

# this tells the display to sleep
# because we can test waking the screen up unless it's asleep
pmset displaysleepnow

# for testing purposes: now the script will pause for $OFFSET seconds
sleep $OFFSET

# For testing purposes:
# after $OFFSET seconds, this sound will play 3 times.
# by that time, the display should be awake
# I did this to help me know when I had set OFFSET too low

afplay /System/Library/Sounds/Glass.aiff

afplay /System/Library/Sounds/Glass.aiff

afplay /System/Library/Sounds/Glass.aiff

# script is done
exit 0

Semuanya setelah '############################################ ######### 'dapat dihapus setelah Anda selesai pengujian.


date -jv+15Sakan melakukan trik menghitung tanggal 15 detik di masa mendatang dari sekarang. The -jberalih mencegah datedari mencoba untuk mengatur jam sistem.
mike

1
Perintah date -jv+15S "+%m/%d/%Y %H:%M:%S"akan menempatkan 15 detik di masa depan ke dalam format yang benar untuk pmset.
Aaron D

Menurut manset OSX 10.10.3 pmset, ada opsi 'pmset relative wake detik' juga. Mungkin perlu diselidiki juga.
JS.

1

Oh, betapa aku berharap aku punya cukup perwakilan untuk menjawab @ wuc jawaban yang 10 kali layak untuk masalah frustasi menjengkelkan ini (atau setidaknya bisa meninggalkan komentar sederhana dengan pujian yang layak).

Apple, dalam kebijaksanaan paternalistiknya, menambahkan "fitur" yang sengaja membuatnya lebih sulit untuk membangunkan layar pada Lion dan Mountain Lion. Ini telah membuat hidup jauh lebih sulit bagi mereka yang ingin membangunkan layar dari jarak jauh (menggunakan remote IR atau melalui VNC) untuk berinteraksi dengan Mac mereka. Untuk beberapa alasan, ini menjadi lebih jelas dengan OS X 10.8.2 .

Menggunakan pmsetadalah solusi yang luar biasa bagi saya.

Langkah 1: Login ke mesin jarak jauh menggunakan ssh myname@192.168.1.2(ganti dengan nama pengguna dan ip yang sesuai untuk remote Mac).

Langkah 2: Bangun layar menggunakan pmset schedule wake "06/27/2013 04:20:00"(dengan tanggal pilihan yang tepat di masa depan).


Saya agak setuju, dan saya senang membaca jawaban Anda, tetapi mungkin pertimbangkan apple.stackexchange.com/help/how-to-answer .
DA Vincent

0

Opsi jika Anda tidak ingin menggunakan gdate:

  • Aktifkan SSHD (Login Jauh) di bawah System Preferences, Sharing
  • Aktifkan 'Bangun untuk akses jaringan' di bawah System Preferences, Energy Saver

letakkan kode ini di file seperti 'wakeup.sh' di folder rumah Anda:

shopt -s expand_aliases
#NB: 7 is the waiting interval. Works for me. Increase as needed. 
alias myDate='date -v+7S "+%m/%d/%Y %H:%M:%S"'
echo MacBook will wake up at: `myDate`
echo yourMacPW | sudo -S pmset schedule wake "`myDate`"
  • Jadikan itu dapat dieksekusi dengan 'chmod + x wakeup.sh' dan masukkan kata sandi Anda jika Anda mau. Kalau tidak jatuhkan echo dan -S.

Jika Anda ingin mengotomatiskan proses ini agar berfungsi dari mesin windows:

  • Dapatkan Putty dan alat WakeOnLan baris perintah (yaitu Aquila di SourceForge)
  • Buat file teks satu baris yang berisi './wakeup.sh'
  • tulis batchfile seperti ini:

    @echo off
    c:
    cd "C:\Program Files (x86)\Aquila Technology\WakeOnLAN"
    :tryAgain
    wakeonlanc.exe -w -mac 00:00:00:00:00:00
    ping 192.168.1.101 -n 1 | find "unreachable"
    if %ERRORLEVEL% EQU 0 GOTO tryAgain
    cd C:\putty
    putty.exe -ssh 192.168.1.101 -l yourUser -pw yourMacPW -m c:\putty\macWake.txt

Hal-hal yang perlu Anda ubah: IP Anda, alamat MAC Anda, kata 'tidak terjangkau' mungkin bukan yang Anda dapatkan - Anda mungkin 'kehabisan waktu'. Menyimpan kata sandi root dalam teks biasa tentu saja, bukan ide yang baik, tetapi ini cara melakukannya secara otomatis dari Windows ke OSX.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.