OS X может сделать это сейчас, как и Snow Leopard. Это стало возможным благодаря Sleep Proxy Service . Это в значительной степени автоматически. Единственным требованием является наличие в вашей локальной сети второго устройства Apple, которое всегда работает в качестве прокси-сервера для сна. Я полагаю, что их нынешние встроенные коробки с низким энергопотреблением поддерживают Airport, Time Machine и Apple TV.
Однако в общем случае я считаю, что ответ - нет. Я не знаю ни о какой другой ОС, которая реализовала подобный сервис. Технология с открытым исходным кодом, поэтому нет никаких причин, что это не может быть везде в конце концов. Возможно, это слишком ново, чтобы увидеть широкое распространение.
Теперь вы можете спросить: зачем вам вторая коробка Apple в локальной сети?
Когда ПК спит, ядро - и, следовательно, сетевой стек - не работает, поэтому в вашей ОС нет кода, который мог бы отвечать на «волшебный» пакет того типа, который вы желаете.
Магические пакеты Wake-on-LAN не обрабатываются ОС. Они распознаются интегральной схемой сетевого интерфейса, которая отвечает, посылая сигнал CPU, который выводит его из состояния сна. Это может быть сделано, потому что IC остается включенной в некоторых состояниях сна. (Вот почему индикатор Ethernet-соединения горит, когда на некоторых компьютерах ПК выключен.)
Причина, по которой технология Apple работает, заключается в том, что перед тем, как компьютер переходит в спящий режим, он уведомляет прокси-сервер сна. Спящий прокси затем организует временный прием трафика для спящей машины, и если он получает что-то интересное, он отправляет пакет WOL на ПК и передает полученный трафик.
Мне повезло, с помощью PowerNap (он упакован для Ubuntu-Sever, но источник есть, так что вы должны иметь возможность скомпилировать его на любом), чтобы приостановить машины резервного копирования, когда они ничего не делают. Однако это не разбудит их автоматически. Существует также программа PowerWake, связанная с архивом исходного кода PowerNap (упакованный как
powerwake
в Ubuntu), который обеспечивает некоторую абстракцию процесса Wake-On-Lan (например, позволяет легко отправлять WOL только с именем хоста), но это все еще не автомат.Редактировать. Другой вариант:
Я не знаю много об этом, потому что я никогда не использовал это, но некоторые карты способны пробуждаться от любого одноадресного сообщения. Вы можете увидеть, есть ли у вашей карты возможность использовать ethtool
Замените eth0 для вашего сетевого устройства. Затем посмотрите на вывод строки, начинающейся с «Supports Wake-on:». Если в этой строке указано «u», то при загрузке вы можете сделать следующее (т. Е. В сценарии инициализации или в чем-то подобном):
В сочетании с PowerNap или чем-то еще, что переводит машину в спящий режим при определенных условиях, это должно обеспечить то, что вы ищете.
источник
ethertool
?powerwake
кажется, включен в отдельный одноименный пакет, по крайней мере, под Ubuntu 10.10.powernap
иpowerwake
включены в одно и то же дерево исходников, но таким образом, чтобы сделать два пакета. Я обновлю пост немного позже, когда подумаю над хорошим способом упомянуть этот факт.