Разбудите Другие Компьютеры от 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

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


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.


Я где-то читал, что он только разбудит ваш мак из сна, а не когда он полностью выключится. И, возможно, он также работает только по локальной сети, а не 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-адрес должен быть широковещательным адресом сети.

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


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

1

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

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

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.