Macからネットワーク上の他のパソコンを起動する方法

2019年4月16日

Macからネットワーク上の他のパソコンを起動するアプリをオートメーターで作ったので作り方をメモ。

概要と制限事項

オートメーターから、Macにデフォルトでインストールされているpythonを利用してWOLのマジックパケットを送信する。ただし、対象のPCは固定(笑)。

手順

1.準備(確認すること)

  • 起動させるPCのIPアドレス(例 192.168.0.10/24)
  • 起動させるPCのMACアドレス(例 0A:0B:0C:0D:0E:0F)

2.WOLを起動するpythonコードの作成

まずは、pythonでマジックパケットを送信してPCを起動できるかをテスト。下記のコードをテキストエディタで書いて保存。(保存は取り敢えずデスクトップにでも)

import socket
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto('\xFF'*6+'\x0A\x0B\x0C\x0D\x0E\x0F'*16, ('192.168.0.255', 7))

このコードの中のIPアドレス、MACアドレスの部分は自分の環境に合わせて書き換える。MACアドレスはコロンを除き、それぞれの値の前に「\x」を追加したもの、IPアドレスはブロードキャストアドレスに変えたものにする。

次に、ターミナルを開いて、書いたpythonのコードを実行。

python ~/Desktop/boot_pc.py

これで起動したいPCの電源が入れば成功。次はこのコードを実行するオートメーターを作成する。

3.pythonを実行するオートメーターの作成

Lanchpad」から「automator」を起動し、「新規書類」をクリック。

書類の種類は「アプリケーション」を選択。

アクションの「ユーティリティ」の中にある「シェルスクリプトを実行」を右側のペインにドラッグ。

シェル:」の部分から、「/usr/bin/python」を選択。

その下の枠の部分に、先程書いたpythonコードをコピペ。

上のメニューから、「ファイル」→「保存」をクリックし、適当な名前をつけて保存。

出来たファイルをダブルクリックすれば電源がオンになるはず!

これで電源を落としたPCをネットワーク越しに簡単に電源オンできるようになった!

参考

http://krakenbeal.blogspot.jp/2010/03/wakeonlan-command-line.html
https://ja.wikipedia.org/wiki/Wake-on-LAN
http://d.hatena.ne.jp/cheeseshop/20121218/1355842434