端末からのディスプレイの起動、一般的な起動


20

これは2つの部分からなる質問です。実用的な「ハウツー」の質問が最初で、次に構成の提案をお願いします。

まず、夜にディスプレイをスリープ状態にし、ディスプレイをリモートで起動できるようにします。SSHで起動するために使用できるコマンドラインユーティリティはありますか?私はWakeOnLanについて知っていますが、それはやり過ぎのようです。

第二に、ディスプレイをリモートで起動したい理由は、Lionの省電力設定がどのように変更されたかに関係しています。Appleの赤外線リモコンはディスプレイをウェイクしません。これは、私が最初に購入したマシンがデスクトップ/ホームシアターPCの組み合わせであるために、その目的の半分を破るので、大したことです。だから、誰もこれについて何をすべきかアイデア/提案を持っていますか?これはオープンエンドです、私は知っています。

回答:


25

SSHを介してこれを行う最も簡単な方法は、caffeinate -uユーザーアクティビティをシミュレートするために(OS X 10.9以降で利用可能)を使用することです。

フラグ-t 5を追加して、5秒のタイムアウトを指定します(そうでなければ、カフェインをctrl+ cする必要があるようです)。


1
誰も注意を払っていないという答えに対して、(+)に行きます。私はそれらの多くを私の自己を持っています、そこでは答えをチェックするために戻ってくるために新しい質問をしてください。
ラスケ

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が起動した後のマウスクリックをシミュレートします。メイン画面の左上でマウスを2回クリックします。Wake Assistは、ユーザーを検出した場合は何もしませんが、コンピューターが起動してアイドル状態の場合は、マウスがクリックされます。


1
AppleScriptのことは私にはうまくいきませんでした。screencapture数分待っても黒い画像が表示されます。
lhf

他のシミュレートされたキーを押したことがありますか?カーソルキーだけでは十分ではないでしょうか 起動時にパスワードが必要ですか?
グラハムミル

1
OS X 10.6で
正常

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秒後の未来をどのように計算しますか?

gdateはGNU Coreutilsパッケージから使用しました(dateOS Xではこれを行うことができるかもしれませんが、可能であれば、方法がわからず、すでにgdateインストールしていました):

[ エイリアスのdate代わりにgdateset_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システムクロックを設定しようとしているから。
マイク14

1
このコマンドdate -jv+15S "+%m/%d/%Y %H:%M:%S"は、将来の15秒をの正しい形式にしpmsetます。
アーロンD

OSX 10.10.3 pmsetのマンページによると、「pmset relative wake seconds」オプションもあります。同様に調査する価値があるかもしれません。
JS。

1

ああ、このいらいらさせるイライラする問題に値する10回に@wucの答えに賛成するのに十分な担当者がいれば(少なくとも、それに値する賞賛で簡単なコメントを残すことができるように)。

Appleは、父性主義の知恵で、ライオンとマウンテンライオンのディスプレイを目覚めさせるのを意図的に難しくする「機能」を追加しました。これにより、(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」を含む1行のテキストファイルを作成します。
  • このようなバッチファイルを書きます:

    @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.