Réveiller d'autres ordinateurs à partir de Mac OSX

42

Existe-t-il une commande de terminal sous Mac OSX qui me permette d’utiliser WOL (Wake On LAN) pour activer d’autres ordinateurs? Windows a wolcmd, existe-t-il un équivalent dans OSX?

J'essaie de réveiller un ordinateur de mon rMBP, au sein de mon réseau. Mon rMBP est normalement connecté via WiFi, mais peut également être connecté via le connecteur Thunderbolt GbE. L'ordinateur cible est un ordinateur Windows que je souhaite réactiver avant de me connecter via une connexion de bureau à distance.

Mark Tomlin
la source
mac_adresse-serveur-$ / bin / wakeonlan ici
Ruskes
@Buscar, sur mon mac (OS X 10.8.4), je reçois -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Mark Tomlin

Réponses:

4

wolcmd est disponible pour Mac: http://www.depicus.com/wake-on-lan/wake-on-lan-for-apple-mac.aspx

Version graphique pour 1,99 $, la version de terminal est gratuite. L'utilisation est identique à son homologue Windows.

b4d
la source
Heureux d'avoir pu aider :)
b4d
3
Pourquoi télécharger un fichier binaire opaque non signé à partir d'un site Web aléatoire, alors que vous ne pouvez utiliser que le programme open-source dans la réponse ci-dessous?
Ruief
58

La wakeonlancommande de ligne de commande peut être ajoutée à OS X à l'aide du gestionnaire de paquets homebrew .

KesslerPeak
la source
53

Installez le paquetage wakeonlan en utilisant Homebrew :

$ brew install wakeonlan

(C'est un script Perl pour réveiller les ordinateurs via des paquets magiques Wake-On-LAN.)

Une fois installé, vous pouvez envoyer un "paquet magique" de votre terminal à n’importe quel appareil utilisant son adresse IP (Internet Protocol) et MAC (Media Access Control).

Voici un exemple d'utilisation typique:

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

Le script prend 2 arguments, l'adresse MAC de la carte réseau et une adresse IP.

Remarque: l'argument d'adresse IP est délicat et ne correspond pas à ce que vous pensez.

Pour une carte réseau sur votre sous-réseau local, utilisez l'adresse de diffusion de ce sous-réseau. (par exemple, sous-réseau 192.168.10.0 avec le masque de réseau 255.255.255.0, utilisez 192.168.10.255)

Par exemple, j'ai un Synology NAS configuré manuellement avec l'adresse IP de 10.0.1.100avec un masque de sous-réseau de 255.255.255.0et une adresse de routeur de 10.0.1.1.

L'adresse IP à utiliser n'est pas celle du périphérique , mais l' adresse de diffusion du sous-réseau .

En reprenant mon exemple, j’ai utilisé la commande suivante pour bien réveiller mon Synology:

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

(Naturellement, substituez les valeurs réelles de votre appareil et de votre réseau à votre situation.)

Vous pouvez obtenir plus d'informations à partir de la page de manuel wakeonlan man makeonlanou d'un glossaire rapide des commandes à partir de wakeonlan -h.

rjb
la source
J'ai lu quelque part, que cela ne ferait que réveiller votre Mac du sommeil, et non lorsqu'il serait complètement éteint. Et peut-être que cela ne fonctionne que sur le réseau local, pas le réseau local sans fil
d4Rk
1
cela devrait être la réponse acceptée. Cheers man
spacebiker
Mon adresse de diffusion n'est pas aussi claire que votre exemple le montre, j'ai donc utilisé ce site pour déterminer: remotemonitoringsystems.ca/broadcast.php
Samuel Li le
Cela peut-il être utilisé pour réveiller un ordinateur après son arrêt? Cela ne semble pas être le cas. Est-il possible de WOL un ordinateur de démarrage à froid en envoyant le paquet magique? Apple Remote Desktop peut déjà réveiller un ordinateur.
SwimBikeRun
1
@MarkTomlin Vous avez demandé une commande en ligne de commande, c'est la bonne réponse.
Ulises Layera
7

Python est livré avec OS X par défaut. Vous pouvez donc utiliser ce petit script Python 2 pour envoyer le paquet wake on lan. Enregistrez-le comme wakeonlan.pyou quelque chose que vous aimez:

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

Utilisez-le comme ceci:

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

Modifiez l'adresse IP et l'adresse MAC en conséquence. L'adresse IP doit être l'adresse de diffusion du réseau.

Pour un accès facile, vous pouvez rendre ce script exécutable et l’ajouter à un répertoire de votre chemin.

JP Petersen
la source
1
J'aime cette solution sans installation requise!
Samuel Li
1

Le paquet RubyGems, qui est en stock sur Mac, peut également être utilisé pour installer une application de réveil sur LAN. Il suffit d'utiliser la gem install wolcommande dans le terminal. Il installera l'activité dans / usr / bin / local / wol.

Cela évite d'avoir à installer des gestionnaires de brassage ou de conditionnement. Il accepte les mêmes arguments que les exemples de wakeonlan ci-dessus.

De plus, l'outil wol peut réveiller un Synology NAS correctement configuré.

David Edwards
la source