Разбудите Другие Компьютеры от Mac OSX

42

Есть ли в Mac OSX команда терминала, которая позволит мне использовать WOL (Wake On LAN) для пробуждения других компьютеров? В Windows есть wolcmd, есть ли эквивалент в OSX?

Я пытаюсь разбудить компьютер из моего rMBP в моей сети. Мой rMBP подключен через WiFi нормально, но также может быть подключен через разъем Thunderbolt GbE. Целевой компьютер - это компьютер с ОС Windows, который я хочу включить, прежде чем подключиться к нему с помощью подключения к удаленному рабочему столу.

Марк Томлин
источник
$ ~ / bin / wakeonlan server-mac-address-here
Ruskes
@Buscar, на моем mac (OS X 10.8.4) я получаю -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Марк Томлин

Ответы:

4

wolcmd доступен для Mac: http://www.depicus.com/wake-on-lan/wake-on-lan-for-apple-mac.aspx

Версия с графическим интерфейсом за $ 1,99, терминальная версия бесплатна. Использование так же, как его аналог Windows.

B4D
источник
Рад, что смог помочь :)
b4d
3
Зачем скачивать непрозрачный непрозрачный двоичный файл с какого-то случайного веб-сайта, если вы можете просто использовать программу с открытым исходным кодом в ответе ниже?
Риф
58

wakeonlanКоманды для командной строки могут быть добавлены в OS X с помощью доморощенного менеджер пакетов.

KesslerPeak
источник
54

Установите пакет wakeonlan , используя Homebrew :

$ brew install wakeonlan

(Это Perl-скрипт для пробуждения компьютеров через волшебные пакеты Wake-On-LAN.)

После установки вы можете отправить «волшебный пакет» с вашего терминала на любое устройство, используя его IP-адрес (протокол Интернета) и MAC-адрес (управление доступом к среде).

Вот пример типичного использования:

$ wakeonlan -i 192.168.1.255 -p 1234 01:02:03:04:05:06

Сценарии принимают 2 аргумента: MAC-адрес сетевой карты и IP-адрес.

Примечание. Аргумент IP-адреса хитрый и не тот, что вы думаете.

Для NIC в вашей локальной подсети используйте широковещательный адрес этой подсети. (например, подсеть 192.168.10.0 с маской сети 255.255.255.0, используйте 192.168.10.255)

Например, у меня есть NAS-устройство Synology, настроенное вручную с IP-адресом 10.0.1.100с маской подсети 255.255.255.0и адресом маршрутизатора 10.0.1.1.

Правильный IP-адрес - это не адрес устройства , а широковещательный адрес подсети .

Продолжая мой пример, я использовал следующую команду, чтобы успешно разбудить мою Synology:

$ wakeonlan -i 10.0.1.255 -p 7 01:02:03:04:05:06

(Естественно, замените фактические значения вашего устройства и сети для вашей ситуации.)

Вы можете получить больше информации со страницы руководства wakeonlan man makeonlanили с кратким глоссарием команд wakeonlan -h.

rjb
источник
Я где-то читал, что он только разбудит ваш мак из сна, а не когда он полностью выключится. И, возможно, он также работает только по локальной сети, а не WLAN.
d4Rk
1
это должен быть принятый ответ. Ура человек
космонавт
Мой широковещательный адрес не так ясен, как показывает ваш пример, поэтому я использовал этот сайт, чтобы определить: remotemonitoringsystems.ca/broadcast.php
Сэмюэль Ли,
Можно ли это использовать, чтобы разбудить компьютер после выключения? Это не так. Можно ли WOL компьютер из холодной загрузки, отправив волшебный пакет? Apple Remote Desktop уже может разбудить компьютер из спящего режима.
SwimBikeRun
1
@MarkTomlin Вы запросили команду командной строки, это правильный ответ.
Улисес Лейера
7

Python поставляется с OS X по умолчанию. Таким образом, вы можете использовать этот небольшой скрипт Python 2 для отправки пакета wake on lan. Сохраните как wakeonlan.pyили как вам нравится:

#!/usr/bin/env python

import socket
import sys

if len(sys.argv) < 3:
    print "Usage: wakeonlan.py <ADR> <MAC>     (example: 192.168.1.255 00:11:22:33:44:55)"
    sys.exit(1)

mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))

Используйте это так:

python wake.py 192.168.1.255 00:11:22:33:44:55

Измените IP-адрес и MAC-адрес соответственно. IP-адрес должен быть широковещательным адресом сети.

Для легкого доступа вы можете сделать этот скрипт исполняемым и добавить его в какой-нибудь каталог на вашем пути.

JP Petersen
источник
1
Мне нравится это решение без установки!
Самуэль Ли
1

Пакет RubyGems, который есть на Mac, также можно использовать для установки приложения wake on lan. Просто используйте gem install wolкоманду в терминале. Он установит активность в / usr / bin / local / wol.

Это позволяет избежать необходимости устанавливать brew или менеджеры пакетов. Он принимает те же аргументы, что и приведенные выше примеры wakeonlan.

Кроме того, инструмент wol может активировать правильно настроенный NAS-сервер Synology.

Дэвид Эдвардс
источник
0

Возможно, его можно установить и через менеджер пакетов MacPorts , но я не установил его, не могу его протестировать.

Руи Сантос
источник
WakeOnLan является частью MacPorts, см. Macports.org/ports.php?by=name&substr=wakeonlan
Tai Viinikka