Màn hình thức dậy từ thiết bị đầu cuối, thức dậy chung


20

Đây là một câu hỏi gồm hai phần. Một câu hỏi thực tế, "làm thế nào" là trước tiên, và sau đó tôi yêu cầu gợi ý cấu hình.

Đầu tiên, tôi đặt màn hình của mình để ngủ vào ban đêm và tôi muốn có thể đánh thức màn hình từ xa. Có tiện ích dòng lệnh nào tôi có thể sử dụng để đánh thức nó thông qua SSH không? Tôi biết về WakeOnLan, nhưng điều đó có vẻ như quá mức cần thiết.

Thứ hai, toàn bộ lý do khiến tôi muốn đánh thức màn hình của mình từ xa phải liên quan đến cách thay đổi cài đặt tiết kiệm năng lượng của Lion. Điều khiển từ xa hồng ngoại của Apple không còn đánh thức màn hình. Đây là một thỏa thuận lớn cho một máy ban đầu tôi mua để trở thành một máy tính để bàn / máy tính gia đình kết hợp, vì nó đánh bại một nửa mục đích của nó. Vì vậy, có ai có bất kỳ ý tưởng / đề xuất phải làm gì về điều này? Đây là kết thúc mở, tôi biết.

Câu trả lời:


25

Cách dễ nhất để thực hiện điều này qua SSH là sử dụng caffeinate -u(có sẵn kể từ OS X 10.9 tôi nghĩ) để mô phỏng hoạt động của người dùng.

Thêm cờ -t 5để chỉ định thời gian chờ là 5 giây ( có vẻ như bạn sẽ phải ctrl+ chết caffeinate).


1
ở đó bạn đi (+) cho câu trả lời của bạn mà không ai chú ý đến. Tôi có rất nhiều người trong số đó, nơi ppl đến hỏi một câu hỏi mới hơn để quay lại để kiểm tra câu trả lời.
Ruskes

1
Theo trang man (ở High Sierra), 5 giây là một mặc định cho -utùy chọn: Nếu thời gian chờ không được chỉ định với tùy chọn '-t', thì xác nhận này được thực hiện với thời gian chờ là 5 giây
JJarava

9

Bạn có thể dùng

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

để đánh thức màn hình ngủ trên máy Mac "thức" khác. Thay thế phần ngày / giờ bằng thời gian hiện tại của khóa học.


9

Thức dậy: caffeinate -u -t 2

Ngủ: pmset displaysleepnow


Giải pháp tốt đẹp! Mặc dù không bao giờ sử dụng caffeinateđể bật màn hình, nhưng tôi đoán nó hoạt động.
JMY1000

7

Đánh thức màn hình từ dòng lệnh

Để đánh thức màn hình của bạn từ xa, hãy thử chạy AppleScript trên dòng lệnh:

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

Điều này sẽ mô phỏng việc nhấn phím con trỏ và sẽ khiến Mac OS X 10 tin rằng người dùng đang hoạt động trên máy tính.

AppleScript này dựa trên câu trả lời, Làm cách nào để tự động hóa một phím bấm trong AppleScript?

Đánh thức màn hình sau khi thức dậy với điều khiển từ xa

Nếu bạn đánh thức máy Mac của mình bằng điều khiển từ xa và màn hình không bật nguồn, hãy thử Wake Assistant . Nó không được thiết kế cho tình huống này nhưng có thể chỉ hoạt động.

Wake Assistant mô phỏng một cú click chuột sau khi máy Mac của bạn thức dậy. Chuột được nhấp hai lần ở phía trên bên trái màn hình chính của bạn. Wake Assistant sẽ không làm gì nếu phát hiện người dùng nhưng nếu máy tính thức dậy và không hoạt động, thì chuột sẽ được nhấp cho bạn.


1
Điều AppleScript không hoạt động đối với tôi. Tôi nhận được một hình ảnh đen từ screencapturengay cả sau khi chờ đợi một vài phút.
lhf

Bạn đã thử bất kỳ lần nhấn phím mô phỏng nào khác - có thể phím con trỏ là không đủ? Bạn có yêu cầu mật khẩu khi thức không?
Graham Miln

1
Làm việc tốt với tôi trên OS X 10.6
claytron

3

wuc đã viết:

Bạn có thể dùng

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

để đánh thức màn hình ngủ trên máy Mac "thức" khác. Thay thế phần ngày / giờ bằng thời gian hiện tại của khóa học.

Tuy nhiên, điều đó không hiệu quả với tôi trên iMac vào khoảng năm 2008 chạy 10.9.1 hoặc MacBook Air 2010 cuối chạy 10.9.2. Tôi không chắc điều này có liên quan gì đến việc quản lý năng lượng của Mavericks hay phần cứng hay không.

Tôi đã có thể làm cho nó hoạt động bằng cách đặt thời gian đánh thức là 15 giây trong tương lai. Thỉnh thoảng tôi có thể làm cho nó hoạt động với cài đặt thấp đến 12 hoặc 13, nhưng không đáng tin cậy. Nhưng có thể có những yếu tố khác mà tôi không nhận ra lúc đó, nhưng 15 đã hoạt động, vì vậy tôi đã sử dụng 15 yếu tố.

Nhưng làm thế nào để bạn tính 15 giây vào tương lai theo chương trình?

Tôi đã sử dụng gdatetừ gói GNU Coreutils ( datetrong OS X có thể thực hiện được điều này, nhưng nếu có thể, tôi không biết làm thế nào và tôi đã gdatecài đặt):

[để sử dụng datethay vì gdatesử dụng bí danh set_wake_time = 'date "-v + $ {OFFSET} S" "+% D% T"']

Đây là kịch bản tôi đã sử dụng:

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

Mọi thứ sau '############################################### ######### 'có thể bị xóa sau khi bạn kiểm tra xong.


date -jv+15Ssẽ thực hiện thủ thuật tính ngày 15 giây trong tương lai kể từ bây giờ. Công -jtắc ngăn không cho datecố gắng đặt đồng hồ hệ thống.
mike

1
Lệnh date -jv+15S "+%m/%d/%Y %H:%M:%S"sẽ đặt 15 giây trong tương lai vào định dạng chính xác cho pmset.
Aaron D

Theo trang quản lý pmset OSX 10.10.3, cũng có tùy chọn 'pmset tương đối đánh thức giây'. Có thể đáng để điều tra là tốt.
JS.

1

Ôi, làm thế nào tôi ước mình có đủ đại diện để nâng cao câu trả lời của @ wuc 10 lần nó xứng đáng cho vấn đề bực bội điên rồ này (hoặc ít nhất là có thể để lại một bình luận đơn giản với lời khen ngợi mà nó xứng đáng).

Apple, trong trí tuệ gia trưởng của mình, đã thêm một "tính năng" cố ý làm cho việc đánh thức màn hình trên Lion và Mountain Lion trở nên khó khăn hơn . Điều này đã khiến cuộc sống trở nên khó khăn hơn nhiều đối với những người mong muốn đánh thức màn hình từ xa (sử dụng điều khiển từ xa IR hoặc qua VNC) để tương tác với máy Mac của họ. Vì một số lý do, điều này trở nên rõ rệt hơn với OS X 10.8.2 .

Sử dụng pmsetlà một cách giải quyết tuyệt vời cho tôi.

Bước 1: Đăng nhập vào máy từ xa bằng cách sử dụng ssh myname@192.168.1.2(thay thế bằng tên người dùng và ip thích hợp cho máy Mac từ xa).

Bước 2: Đánh thức màn hình bằng cách sử dụng pmset schedule wake "06/27/2013 04:20:00"(với một ngày thích hợp trong tương lai bạn chọn).


Tôi đồng ý và tôi rất thích đọc câu trả lời của bạn, nhưng có lẽ nên xem xét apple.stackexchange.com/help/how-to-answer .
DA Vincent

0

Tùy chọn nếu bạn không muốn sử dụng gdate:

  • Kích hoạt SSHD (Đăng nhập từ xa) trong Tùy chọn hệ thống, Chia sẻ
  • Bật 'Wake for access access' trong System Preferences, Energy Saver

đặt mã này vào một tệp như 'Wakeup.sh' trong thư mục nhà của bạn:

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`"
  • Làm cho nó thực thi được với 'chmod + x Wakeup.sh' và nhập mật khẩu của bạn nếu bạn muốn. Nếu không thì thả tiếng vang và -S.

Nếu bạn muốn tự động hóa quy trình này để làm việc từ máy windows:

  • Nhận PuTTY và một công cụ WakeOnLan dòng lệnh (tức là Aquila trên SourceForge)
  • Tạo tệp văn bản một dòng có chứa './wakeup.sh'
  • viết một đợt như thế này:

    @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

Những điều bạn cần thay đổi: IP của bạn, địa chỉ MAC của bạn, từ 'không thể truy cập' có thể không phải là những gì bạn nhận được - bạn có thể bị 'hết thời gian'. Tất nhiên, lưu trữ mật khẩu gốc trong văn bản đơn giản, không phải là một ý tưởng hay, nhưng đây là cách thực hiện hoàn toàn tự động từ Windows sang OSX.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.