터미널에서 깨우기 화면, 일반 깨우기


20

이것은 두 가지 질문입니다. 실용적인 "방법"질문이 먼저 나온 다음 구성 제안을 요청합니다.

먼저 밤에 디스플레이를 잠자기 상태로 전환하여 디스플레이를 원격으로 깨울 수 있기를 원합니다. SSH를 통해 깨우기 위해 사용할 수있는 명령 줄 유틸리티가 있습니까? WakeOnLan에 대해 알고 있지만 과잉 인 것 같습니다.

둘째, 디스플레이를 원격으로 깨우고 싶은 이유는 Lion의 절전 설정이 어떻게 바뀌 었는지와 관련이 있습니다. Apple 적외선 리모컨이 더 이상 디스플레이를 깨우지 않습니다. 이것은 원래 데스크탑 / 홈 시어터 PC로 구입하여 구입 한 머신의 큰 절반입니다. 목적의 절반을 상실하기 때문입니다. 그래서, 이것에 대해 어떤 아이디어 / 제안이 있습니까? 이것은 끝이 열려 있습니다.

답변:


25

SSH를 통해이를 수행하는 가장 쉬운 방법은 caffeinate -u사용자 활동을 시뮬레이션 하기 위해 (OS X 10.9부터 사용 가능) 사용하는 것입니다.

플래그 추가 -t 55 초의 시간 제한을 지정합니다 (다른 사람은해야 할 것 ctrl+ ccaffeinate 밖으로, 그것은 보인다).


1
거기에 아무도 관심을 기울이지 않은 대답에 (+)가 표시됩니다. 나는 내 자신이 너무 많아서 ppl이 답을 확인하기 위해 새로운 질문을 할 때가 있습니다.
Ruskes

1
매뉴얼 페이지 (High Sierra)에 따르면 5 초는 -u옵션에 대한 기본 설정입니다. '-t'옵션으로 시간 초과를 지정하지 않으면이 주장은 기본값 인 5 초 시간 초과로 이루어집니다.
JJarava

9

당신이 사용할 수있는

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

그렇지 않으면 "깨어 난"Mac에서 잠자기 화면을 깨울 수 있습니다. 날짜 / 시간 부분을 현재 코스 시간으로 교체하십시오.


9

일어나 다: caffeinate -u -t 2

자다: pmset displaysleepnow


좋은 해결책! caffeinate디스플레이를 켜는 데는 사용하지 않지만 작동하는 것 같습니다.
JMY1000

7

명령 행에서 디스플레이 깨우기

디스플레이를 원격으로 깨우려면 명령 행에서 AppleScript를 실행하십시오.

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

이것은 커서 키 누르기를 시뮬레이트 하며 Mac OS X 10은 사용자가 컴퓨터에서 활동하고 있다고 믿어야합니다.

이 AppleScript는 AppleScript 에서 키 누르기를 자동화하는 방법 에 대한 답변을 기반으로합니다 .

리모컨으로 깨운 후 디스플레이 깨우기

리모컨을 사용하여 Mac을 깨우고 모니터의 전원이 켜지지 않으면 Wake Assist를 시도하십시오 . 이 상황을 위해 설계된 것이 아니라 작동 할 수도 있습니다.

Wake Assist는 Mac이 깨어 난 후 마우스 클릭을 시뮬레이션합니다. 마우스는 기본 디스플레이의 왼쪽 상단에서 두 번 클릭됩니다. Wake Assist는 사용자를 감지하면 아무것도하지 않지만 컴퓨터가 깨어나고 유휴 상태이면 마우스가 클릭됩니다.


1
AppleScript가 작동하지 않았습니다. screencapture몇 분 기다린 후에도 검은 이미지가 나타납니다 .
lhf

다른 시뮬레이션 된 키 누름을 시도 했습니까? 커서 키로는 충분하지 않습니까? 깨어날 때 암호가 필요합니까?
Graham Miln

1
OS X 10.6에서 나를 위해 잘 작동했습니다
claytron

3

wuc 는 썼다 :

당신이 사용할 수있는

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

그렇지 않으면 "깨어 난"Mac에서 잠자기 화면을 깨울 수 있습니다. 날짜 / 시간 부분을 현재 코스 시간으로 교체하십시오.

그러나 10.9.1을 실행하는 2008 년 iMac 또는 10.9.2를 실행하는 2010 년 말 MacBook Air에서는 저에게 효과가 없었습니다. 이것이 Mavericks의 에너지 관리 또는 하드웨어와 관련이 있는지 확실하지 않습니다.

깨우기 시간을 15 초로 설정하여 작동시킬 수있었습니다. 때로는 12 또는 13의 낮은 설정으로 작동시킬 수 있었지만 안정적으로 작동하지는 않았습니다. 그러나 당시에 알지 못했던 다른 요인이 있었지만 15가 효과가 있었으므로 15를 사용했습니다.

그러나 프로그래밍 방식으로 미래로 15 초를 어떻게 계산합니까?

gdateGNU Coreutils 패키지에서 사용 했습니다 ( dateOS X에서는이 작업을 수행 할 수 있지만 가능한 경우 방법을 모르겠으며 이미 gdate설치했습니다).

[ 별명 date대신 gdate사용하려면 set_wake_time = 'date "-v + $ {OFFSET} S" "+ % D % T"']

내가 사용한 스크립트는 다음과 같습니다.

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

'#################################### 이후의 모든 것 테스트가 끝나면 ######### '을 제거 할 수 있습니다.


date -jv+15S앞으로 15 초 후에 날짜를 계산하는 트릭을 수행 할 것입니다. -j스위치 방지 date시스템 클럭을 설정하려고에서.
mike

1
이 명령 date -jv+15S "+%m/%d/%Y %H:%M:%S"은 향후 15 초를에 대한 올바른 형식으로 설정합니다 pmset.
Aaron D

OSX 10.10.3 pmset 맨 페이지에 따르면 'pmset relative wake seconds'옵션도 있습니다. 조사 할 가치가있을 수도 있습니다.
JS.

1

오, 어떻게 내가 @wuc의 대답을이 미친 듯이 실망스러운 문제에 대한 10 배의 가치를 찬성하기에 충분한 담당자가 있었으면 좋 겠는가?

친애하는 지혜로 애플 은 "기능"을 추가하여 의도적으로 라이온 과 마운틴 라이온 의 디스플레이를 깨우기가 어려워졌다 . 이로 인해 디스플레이를 원격으로 깨우기 (IR 리모컨 사용 또는 VNC 사용)하려는 사람들이 Mac과 상호 작용하기가 훨씬 어려워졌습니다. 어떤 이유로 OS X 10.8.2에서 더 두드러 졌습니다 .

사용 pmset하는 것은 놀라운 해결책이었습니다.

1 단계 :를 사용하여 원격 컴퓨터에 로그인합니다 ssh myname@192.168.1.2(원격 Mac의 경우 적절한 사용자 이름과 IP로 교체).

2 단계 : pmset schedule wake "06/27/2013 04:20:00"(선택한 적절한 미래 날짜)를 사용하여 디스플레이를 깨 웁니다 .


동의합니다. 답을 읽는 것이 즐거웠지만 apple.stackexchange.com/help/how-to-answer를 고려해 보십시오 .
DA 빈센트

0

gdate를 사용하지 않으려는 경우 옵션 :

  • 시스템 환경 설정, 공유에서 SSHD (원격 로그인) 활성화
  • 시스템 환경 설정, 에너지 절약에서 '네트워크 액세스를위한 웨이크 업'을 활성화하십시오.

이 코드를 홈 폴더의 'wakeup.sh'와 같은 파일에 넣으십시오.

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'로 실행 파일을 만들고 원하는 경우 암호를 입력하십시오. 그렇지 않으면 에코와 -S를 삭제하십시오.

Windows 시스템에서 작업하도록이 프로세스를 자동화하려면 다음을 수행하십시오.

  • PuTTY 및 명령 행 WakeOnLan 도구 (예 : SourceForge의 Aquila) 가져 오기
  • './wakeup.sh'를 포함하는 한 줄 텍스트 파일을 만듭니다.
  • 다음과 같이 배치 파일을 작성하십시오.

    @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

변경해야 할 사항 : IP, MAC 주소, '도달 할 수 없음'이라는 단어가 원하는 것이 아닐 수 있습니다. '시간이 초과되었습니다'. 루트 암호를 일반 텍스트로 저장하는 것은 물론 좋은 생각은 아니지만 Windows에서 OSX로 완전히 자동으로 수행하는 방법입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.