Riattiva altri computer da Mac OSX


42

Esiste un comando terminale all'interno di Mac OSX che mi permetterà di utilizzare WOL (Wake On LAN) per riattivare altri computer? Windows ha wolcmd, esiste un equivalente in OSX?

Sto cercando di riattivare un computer dal mio rMBP, all'interno della mia rete. Il mio rMBP è collegato normalmente tramite WiFi, ma può anche essere collegato tramite il connettore Thunderbolt GbE. Il computer di destinazione è un computer Windows che voglio svegliare prima di connettermi ad esso tramite una connessione desktop remoto.


$ ~ / bin / wakeonlan server-mac-address-here
Ruskes

@Buscar, sul mio mac (OS X 10.8.4), ottengo -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Mark Tomlin,

Risposte:



58

Il wakeonlancomando per la riga di comando può essere aggiunto a OS X utilizzando il gestore pacchetti homebrew .


53

Installa il pacchetto wakeonlan usando Homebrew :

$ brew install wakeonlan

(È uno script Perl per svegliare i computer tramite pacchetti magici Wake-On-LAN.)

Una volta installato, puoi inviare un "pacchetto magico" dal tuo Terminale a qualsiasi dispositivo usando il suo indirizzo IP (Internet Protocol) e MAC (Media Access Control).

Ecco un esempio di un uso tipico:

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

Gli script accettano 2 argomenti, l'indirizzo MAC della scheda NIC e un indirizzo IP.

Nota: l'argomento dell'indirizzo IP è complicato e non è quello che penseresti.

Per una scheda di rete sulla propria sottorete locale, utilizzare l'indirizzo di trasmissione di questa sottorete. (ad es. sottorete 192.168.10.0 con maschera di rete 255.255.255.0, utilizzare 192.168.10.255)

Ad esempio, ho un Synology NAS configurato manualmente con l'indirizzo IP di 10.0.1.100con una subnet mask di 255.255.255.0e un indirizzo router di 10.0.1.1.

L'indirizzo IP corretto da utilizzare non è quello del dispositivo , ma piuttosto l' indirizzo di trasmissione della sottorete .

Continuando con il mio esempio, ho usato il comando seguente per riattivare correttamente Synology:

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

(Naturalmente, sostituisci i valori effettivi del tuo dispositivo e della tua rete alla tua situazione.)

Puoi ottenere maggiori informazioni dalla pagina man di wakeonlan man makeonlano da un rapido glossario di comandi da wakeonlan -h.


Ho letto da qualche parte, che risveglierà il tuo mac solo dalla sospensione, e non quando si spegnerà completamente. E forse funziona anche su LAN, non su WLAN.
d4Rk,

1
questa dovrebbe essere la risposta accettata. Saluti uomo
Spacebiker

Il mio indirizzo di trasmissione non è chiaro come mostra il tuo esempio, quindi ho usato questo sito per determinare: remotemonitoringsystems.ca/broadcast.php
Samuel Li

Può essere usato per riattivare un computer dallo spegnimento? Non sembra così. È possibile WOL un computer da avvio a freddo inviando il pacchetto magico? Apple Remote Desktop può già riattivare un computer dalla modalità sospensione.
SwimBike:

1
@MarkTomlin Hai chiesto il comando da riga di comando, questa è la risposta corretta.
Ulises Layera,

7

Python viene fornito con OS X per impostazione predefinita. Quindi potresti usare questo piccolo script Python 2 per inviare il pacchetto wake on lan. Salvalo come wakeonlan.pyo qualcosa che ti piace:

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

Usalo in questo modo:

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

Modificare l'indirizzo IP e l'indirizzo MAC di conseguenza. L'indirizzo IP dovrebbe essere l'indirizzo di trasmissione della rete.

Per un facile accesso è possibile rendere eseguibile questo script e aggiungerlo ad alcune directory nel proprio percorso.


1
Mi piace questa soluzione senza installazione richiesta!
Samuel Li,

1

Il pacchetto RubyGems che è disponibile su Mac, può anche essere usato per installare un'app wake on lan. Basta usare il gem install wolcomando nel terminale. Installerà l'attività in / usr / bin / local / wol.

Questo evita di dover installare brew o gestori di pacchetti. Accetta gli stessi argomenti degli esempi wakeonlan sopra.

A parte questo, lo strumento wol può riattivare un Synology NAS correttamente configurato.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.