SSブログ

今更MacのWOLとかsleepとか [Mac]

ThinkPadの場合、リモートからWOLを使って起こすにしてもshutdownするにしても楽なんだけど
Macの場合sleepモードからのWOLにしか対応していない...なんか嫌な感じ...
とは言えリモートからの操作はやっぱ楽なので、超手抜きな設定など
基本は全てThinkPad T60から操作する。

<Mac本体設定>
1. 「システム環境設定」→「省エネルギー」→
  「Ethernet ネットワークアクセスによってスリープ解除」にチェックを入れる。
2. 「システム環境設定」→「共有」→「サービス」の「リモートログイン」に
  チェックを入れる。

<WOL>
 WOL.exeをbatファイルに組み込むとか、GuiWakeOnLanなんかをThinkPad T60に突っ込んで
  そこからWOLパケットを投げてMacを起こす。

<sleep>
1. Mac にシェル・スクリプトを2本配置
 (1) Macをsleepさせるスクリプト本体
  /usr/local/sbin/ssleep
#!/bin/ksh
sleep 5
osascript -e 'tell application "System Events"' -e 'sleep' -e 'end tell'

 (2) (1)のスクリプトをnohupかつバックグラウンドでキックして速攻終了するスクリプト
  /usr/local/sbin/syssleep
#!/bin/ksh
nohup /usr/local/sbin/ssleep >/dev/null 2>&1 &
exit

 (3)実行権とか
# cd /usr/local/sbin
# chmod 755 ssleep syssleep

2. sudo パスワードなし実行設定
 上記のスクリプトをsudoコマンドパスワードなしで
 root権実行(※1)させるためsudo設定ファイルに以下を追加
  /etc/sudoers
hogeuser ALL=(ALL) NOPASSWD: /usr/local/sbin/syssleep

  ※1 sleepさせようとするMacに一般ユーザーがGUIログインしていない(Login画面の状態)
     まはた他のユーザーがGUIログインしている場合に、sleepさせるにはrootで実行する
     必要がある。

3. Teratermマクロの設定
 ThinkPad T60からssh2でMacに対して一般ユーザ
 (/etc/sudoersに登録したユーザ:例ではhogeuser)でloginし、
 マクロ内からsudoして/usr/local/sbin/syssleepをキックする。
 以下のマクロは最初だけユーザー名、とパスワードを聞かれ、2回目以降は聞かれない。
 (暗号化されてファイルに保持される。)
  sleep Mac.ttl
show 0
hostname = '192.168.1.233'
getpassword 'C:\Program Files\teraterm\myserver.dat' 'UserName' myname
getpassword 'C:\Program Files\teraterm\myserver.dat' 'Password' mypassword
conn_str = hostname
strconcat conn_str ':22 /ssh /2 /auth=password /user='
strconcat conn_str myname
strconcat conn_str ' /passwd='
strconcat conn_str mypassword
connect conn_str
wait '@MBP'

sendln 'sudo /usr/local/sbin/syssleep'
sendln 'sleep 2'
sendln 'exit'

4. Teratermマクロ実行(sleep実行)
"C:\Program Files\teraterm\ttpmacro.exe" "C:\ctrl\sleep Mac.ttl"

これで、ようやくMacがsleepします。
がぁ、Mac設定「セキュリティ設定」→「一般」の
「スリープの後、またはスクリーンセーバが開始した後XXXXパスワード要求」に
チェックが入っていて、Macにパスワードロックがかかった状態の場合は
どう頑張ってもsleepしませんでした。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。