Terminalden uyandırma ekranı, genel uyanma


20

Bu iki bölümden oluşan bir soru. Pratik bir "nasıl yapılır" sorusu önce, sonra da yapılandırma önerileri istiyorum.

İlk olarak, ekranlarımı gece uykuya koydum ve ekranı uzaktan uyandırabilmek istiyorum. SSH ile uyandırmak için kullanabileceğim bir komut satırı yardımcı programı var mı? WakeOnLan'ı biliyorum, ama bu fazlaca gözüküyor.

İkincisi, ekranımı uzaktan uyandırmak istememin bütün nedeni, Lion'un güç tasarrufu ayarlarının nasıl değiştiği ile ilgili. Apple kızılötesi uzaktan kumanda artık ekranı uyandırmıyor. Amacının yarısını yitirdiği için bu, başlangıçta birleşik bir masaüstü / ev sineması bilgisayarı olmak için satın aldığım bir makine için çok önemli. Peki bu konuda ne yapabileceği hakkında bir fikri olan var mı? Bu açık uçlu, biliyorum.

Yanıtlar:


25

Bunu SSH üzerinden yapmanın en kolay yolu, caffeinate -ukullanıcı etkinliğini simüle etmek için kullanmaktır (sanırım OS X 10.9'dan beri kullanılabilir).

-t 55 saniyelik bir zaman aşımı süresi belirlemek için bayrak ekleyin (aksi halde kafeinsizden ctrl+ yapmanız gerekir c).


1
Oradaki cevabınız için kimsenin dikkat etmediği bir cevabı buluyorsunuz. Kendimden pek çok kişiye sahibim, burada ppl gelir, cevabı kontrol etmek için daha yeni bir soru sorarız.
Ruskes

1
Man sayfasına göre (High Sierra'da), 5 sn, -useçenek için bir varsayılandır: '-t' seçeneğinde bir zaman aşımı belirtilmezse, bu iddia varsayılan olarak 5 saniye zaman aşımına uğradı
JJarava

9

Kullanabilirsiniz

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

aksi halde "uyanık" bir Mac'te uyku ekranını uyandırmak için. Tarih / saat bölümünü, geçerli saatle değiştirin.


9

Uyanmak: caffeinate -u -t 2

Uyku: pmset displaysleepnow


Güzel çözüm! caffeinateEkranı açmak için kullanmaktan asla vazgeçmeyin , ama sanırım işe yarıyor.
JMY1000

7

Ekranı Komut Satırından Uyandırmak

Ekranınızı uzaktan uyandırmak için komut satırında bir AppleScript çalıştırmayı deneyin:

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

Bu, imleç tuşuna basılmasını simüle edecektir ve Mac OS X 10'un bir kullanıcının bilgisayarda aktif olduğuna inanmasını sağlamalıdır.

Bu AppleScript cevabı, AppleScript'te bir tuşa basmayı nasıl otomatikleştiririm?

Uzaktan Kumanda ile Uyandıktan Sonra Ekranı Uyandırma

Mac'inizi uzaktan kumandayı kullanarak uyandırıyorsanız ve ekran açılmıyorsa, Wake Assist'i deneyin . Bu durum için tasarlanmamış, ancak işe yarayabilir.

Wake Assist, Mac'iniz uyandıktan sonra bir fare tıklamasını simüle eder. Ana ekranın sol üst köşesindeki fare iki defa tıklanır. Wake Assist, bir kullanıcı tespit ederse hiçbir şey yapmaz, ancak bilgisayar uyanır ve boştaysa, fare sizin için tıklanır.


1
AppleScript olayı benim için işe yaramadı. screencaptureBirkaç dakika bekledikten sonra bile siyah bir görüntü alıyorum .
02'de lhf

Başka herhangi bir benzetilmiş tuşa basmayı denediniz mi - belki de imleç tuşu yeterli değil mi? Uyanmada şifre gerekli mi?
Graham Miln

1
OS X 10.6'da benim için iyi çalıştı
claytron

3

wuc şunu yazdı:

Kullanabilirsiniz

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

aksi halde "uyanık" bir Mac'te uyku ekranını uyandırmak için. Tarih / saat bölümünü, geçerli saatle değiştirin.

Ancak bu benim için 10.9.1 çalışan bir 2008 iMac veya 10.9.2 çalışan bir 2010 MacBook Air için işe yaramadı. Bunun, Mavericks’in enerji yönetimi veya donanımıyla ilgisi olup olmadığından emin değilim.

Uyanma zamanını 15 saniye olacak şekilde ayarlayarak işe koyulmayı başardım. Zaman zaman 12 ya da 13 gibi düşük bir ayarla çalışmayı başardım ancak güvenilir bir şekilde değil. Ama o zaman farketmediğim başka faktörler olabilirdi, ama 15 işe yaradı, ben de 15 kullandım.

Fakat geleceğe 15 saniyeyi programlı olarak nasıl hesaplarsınız?

Kullandığım gdate(GNU coreutils paketinden datebunu yapmak mümkün olabilir OS X, ancak eğer, ben bilmiyorum, ben zaten vardı gdateyüklü):

[ takma ad kullanmak dateyerine gdatekullanılacak set_wake_time = 'tarih "-v + $ {OFFSET} S" "+% D% T"']

İşte kullandığım senaryo:

#!/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

Her şeyden sonra her şey. Testi bitirdikten sonra ######### 'kaldırılabilir.


date -jv+15SBundan sonra gelecekte 15 saniye tarihini hesaplama hilesini yapacak. -jAnahtar önleyen datesistem saatini ayarlamak çalışmasını.
mike

1
Komut date -jv+15S "+%m/%d/%Y %H:%M:%S"ileride 15 saniyeyi doğru biçime koyacaktır pmset.
Aaron D

OSX 10.10.3 pmset kılavuz sayfasına göre, “pmset göreceli uyandırma saniye” seçeneği de bulunmaktadır. Araştırmaya da değer olabilir.
JS.

1

Oh, keşke @ wuc'un cevabını bu çıldırtıcı sinir bozucu problem için hak ettiği 10 kez (veya en azından hak ettiği övgüyle basit bir yorumda bırakabilmek için) cevaplamak için yeterli desteğim olsaydı.

Paternalist bilgeliğiyle Apple, Aslan ve Dağ Aslanı'ndaki sergiyi uyandırmayı kasıtlı olarak zorlaştıran bir "özellik" ekledi . Bu, Mac'leriyle etkileşime geçmek için ekranı uzaktan uyandırmak isteyenler için (IR uzaktan kumandaları kullanarak veya VNC aracılığıyla) hayatı zorlaştırdı. Nedense, bu OS X 10.8.2 ile daha belirgin hale geldi .

Kullanmak pmsetbenim için muhteşem bir çözümdü.

Adım 1: Kullanarak uzaktaki makineye giriş yapın ssh myname@192.168.1.2(uzaktaki Mac için uygun bir kullanıcı adı ve ip ile değiştirin).

Adım 2: Ekranı kullanarak uyandırın pmset schedule wake "06/27/2013 04:20:00"(seçtiğiniz uygun bir tarihle).


Ben de aynı fikirdeyim ve cevabınızı okumaktan zevk aldım ama belki de apple.stackexchange.com/help/how-to-answer adresini düşünün .
DA Vincent,

0

Gdate kullanmak istemiyorsanız Seçenek:

  • Sistem Tercihleri ​​altında SSHD'yi (Uzaktan Giriş) Etkinleştirme, Paylaşma
  • Sistem Tercihleri, Enerji Tasarrufu altında 'Ağ erişimi için uyandır' özelliğini etkinleştirin

bu kodu giriş klasörünüzdeki 'wakeup.sh' benzeri bir dosyaya yerleştirin:

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`"
  • 'Chmod + x wakeup.sh' ile çalıştırılabilir duruma getirin ve isterseniz şifrenizi girin. Aksi takdirde, yankı ve -S'yi bırakın.

Bu işlemi bir windows makinesinden çalışacak şekilde otomatikleştirmek istiyorsanız:

  • PuTTY ve bir komut satırı WakeOnLan aracı edinin (örneğin SourceForge'daki Aquila)
  • './Wakeup.sh' içeren bir satırlık metin dosyası hazırlayın
  • şöyle bir toplu iş dosyası yaz:

    @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

Değiştirmeniz gereken şeyler: IP adresiniz, MAC adresiniz, 'ulaşılamaz' kelimesi aldığınız şey olmayabilir - 'zaman aşımına uğramış' olabilirsiniz. Kök parolasını düz metin olarak saklamak elbette iyi bir fikir değil, ancak Windows'tan OSX'e otomatik olarak nasıl yapılacağı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.