Ativar outros computadores do Mac OSX

42

Existe um comando de terminal no Mac OSX que me permita usar o WOL (Wake On LAN) para ativar outros computadores? O Windows tem wolcmd, existe um equivalente no OSX?

Estou tentando ativar um computador do meu rMBP, dentro da minha rede. Meu rMBP está conectado via WiFi normalmente, mas também pode ser conectado via conector Thunderbolt GbE. O computador de destino é uma máquina Windows que desejo ativar antes de conectar-me a ela usando uma conexão de área de trabalho remota.

Mark Tomlin
fonte
$ ~ / bin / wakeonlan server-mac-address-here
Ruskes
@ Buscar, no meu mac (OS X 10.8.4), recebo -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Mark Tomlin

Respostas:

4

O wolcmd está disponível para Mac: http://www.depicus.com/wake-on-lan/wake-on-lan-for-apple-mac.aspx

Versão GUI por US $ 1,99, versão terminal é gratuita. O uso é igual ao seu equivalente no Windows.

b4d
fonte
Fico feliz que eu poderia ajudar :) #
224 b4d
3
Por que baixar um binário opaco não assinado de algum site aleatório, quando você pode simplesmente usar o programa de código aberto na resposta abaixo?
ruief
58

O wakeonlancomando para linha de comando pode ser adicionado ao OS X usando o gerenciador de pacotes homebrew .

KesslerPeak
fonte
53

Instale o pacote wakeonlan usando o Homebrew :

$ brew install wakeonlan

(É um script Perl para ativar computadores por meio de pacotes mágicos Wake-On-LAN.)

Quando instalado, você pode enviar um "pacote mágico" do seu Terminal para qualquer dispositivo usando o endereço IP (Internet Protocol) e MAC (Media Access Control).

Aqui está um exemplo de uso típico:

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

Os scripts usam 2 argumentos, o endereço MAC da NIC e um endereço IP.

Nota: O argumento do endereço IP é complicado e não é o que você pensaria.

Para uma NIC na sua sub-rede local, use o endereço de broadcast dessa sub-rede. (por exemplo, sub-rede 192.168.10.0 com máscara de rede 255.255.255.0, use 192.168.10.255)

Por exemplo, eu tenho um Synology NAS configurado manualmente com o endereço IP de, 10.0.1.100com uma máscara de sub-rede 255.255.255.0e um endereço de roteador de 10.0.1.1.

O endereço IP correto a ser usado não é o do dispositivo , mas o endereço de broadcast da sub-rede .

Continuando no meu exemplo, usei o seguinte comando para ativar com êxito o meu Synology:

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

(Naturalmente, substitua os valores reais do seu dispositivo e rede pela sua situação.)

Você pode obter mais informações na página de manual wakeonlan man makeonlanou em um glossário rápido de comandos wakeonlan -h.

rjb
fonte
Eu li em algum lugar, que ele apenas acordará seu mac do sono, e não quando ele estiver completamente desligado. E talvez também funcione apenas na LAN, não na WLAN.
precisa saber é
11
essa deve ser a resposta aceita. Cheers man
spacebiker
Meu endereço de broadcast não é tão clara como seu exemplo de shows, então eu usei esse site para determinar: remotemonitoringsystems.ca/broadcast.php
Samuel Li
Isso pode ser usado para ativar um computador após o desligamento? Parece que não. É possível WOL um computador a partir da inicialização a frio, enviando o pacote mágico? O Apple Remote Desktop já pode ativar um computador do modo de suspensão.
SwimBikeRun 1/11
11
@ MarkTomlin Você pediu o comando da linha de comando, esta é a resposta correta.
Ulises Layera
7

O Python vem com o OS X por padrão. Então você pode usar esse pequeno script Python 2 para enviar o pacote wake on lan. Salve como wakeonlan.pyou algo que você gosta:

#!/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))

Use-o assim:

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

Modifique o endereço IP e o endereço MAC de acordo. O endereço IP deve ser o endereço de broadcast da rede.

Para facilitar o acesso, você pode tornar esse script executável e adicioná-lo a algum diretório em seu caminho.

JP Petersen
fonte
11
Eu gosto desta solução sem necessidade de instalação!
Samuel Li
1

O pacote RubyGems, que está disponível no Mac, também pode ser usado para instalar um aplicativo wake on lan. Basta usar o gem install wolcomando no terminal. Ele instalará a atividade em / usr / bin / local / wol.

Isso evita a instalação de gerenciadores de distribuição ou de pacotes. Ele aceita os mesmos argumentos que os exemplos de wakeonlan acima.

Além disso, a ferramenta wol pode ativar um Synology NAS configurado corretamente.

David Edwards
fonte
0

Provavelmente também é possível ser instalado através do gerenciador de pacotes MacPorts , mas eu não o tenho instalado, não posso testá-lo.

Rui Santos
fonte
WakeOnLan faz parte do MacPorts, consulte macports.org/ports.php?by=name&substr=wakeonlan
Tai Viinikka