Wecken Sie andere Computer von Mac OSX

42

Gibt es einen Terminalbefehl in Mac OS X, mit dem ich WOL (Wake On LAN) zum Aufwecken anderer Computer verwenden kann? Windows hat wolcmd, gibt es eine Entsprechung in OSX?

Ich versuche, einen Computer aus meinem rMBP in meinem Netzwerk zu aktivieren. Mein rMBP ist normalerweise über WLAN verbunden, kann aber auch über den Thunderbolt GbE-Anschluss verbunden werden. Der Zielcomputer ist ein Windows-Computer, den ich vor dem Herstellen einer Verbindung über eine Remotedesktopverbindung aktivieren möchte.

Mark Tomlin
quelle
$ ~ / bin / wakeonlan Server-Mac-Adresse-hier
Ruskes
@Buscar, Auf meinem Mac (OS X 10.8.4) bekomme ich -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Mark Tomlin

Antworten:

4

wolcmd ist für Mac verfügbar: http://www.depicus.com/wake-on-lan/wake-on-lan-for-apple-mac.aspx

GUI-Version für 1,99 $, Terminal-Version ist kostenlos. Die Verwendung ist genauso wie bei Windows.

b4d
quelle
Ich bin froh, dass ich helfen konnte :)
b4d
3
Warum sollten Sie eine nicht signierte undurchsichtige Binärdatei von einer zufälligen Website herunterladen, wenn Sie in der Antwort unten nur das Open-Source-Programm verwenden könnten?
Ruief
58

Der wakeonlanBefehl für die Befehlszeile kann mit dem Homebrew- Paket-Manager zu OS X hinzugefügt werden .

KesslerPeak
quelle
52

Installieren Sie das Wakeonlan- Paket mit Homebrew :

$ brew install wakeonlan

(Es ist ein Perl-Skript zum Aufwecken von Computern über Wake-On-LAN-Magic-Pakete.)

Nach der Installation können Sie über die IP-Adresse (Internet Protocol) und die MAC-Adresse (Media Access Control) ein "Magic Packet" von Ihrem Terminal an jedes Gerät senden.

Hier ist ein Beispiel für eine typische Verwendung:

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

Das Skript akzeptiert zwei Argumente, die MAC-Adresse der Netzwerkkarte und eine IP-Adresse.

Hinweis: Das Argument der IP-Adresse ist schwierig und entspricht nicht Ihren Vorstellungen.

Verwenden Sie für eine Netzwerkkarte in Ihrem lokalen Subnetz die Broadcast-Adresse dieses Subnetzes. (zB Subnetz 192.168.10.0 mit Netzmaske 255.255.255.0, 192.168.10.255 verwenden)

Zum Beispiel habe ich ein Synology NAS, das manuell mit der IP-Adresse von 10.0.1.100mit einer Subnetzmaske von 255.255.255.0und einer Router-Adresse von konfiguriert wurde 10.0.1.1.

Die richtige IP-Adresse ist nicht die des Geräts , sondern die Broadcast-Adresse des Subnetzes .

In meinem Beispiel habe ich den folgenden Befehl verwendet, um meine Synology erfolgreich zu aktivieren:

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

(Ersetzen Sie natürlich die tatsächlichen Werte Ihres Geräts und Netzwerks durch Ihre Situation.)

Weitere Informationen finden Sie auf der wakeonlan-Manpage man makeonlanoder in einem kurzen Glossar mit Befehlen von wakeonlan -h.

rjb
quelle
Ich habe irgendwo gelesen, dass Ihr Mac nur aus dem Ruhezustand geweckt wird und nicht, wenn er vollständig ausgeschaltet ist. Und vielleicht funktioniert es auch nur im LAN, nicht im WLAN.
d4Rk
1
Dies sollte die akzeptierte Antwort sein. Prost Mann
Spacebiker
Meine Broadcast-Adresse ist nicht so klar, wie Ihr Beispiel zeigt. Ich habe diese Site verwendet, um Folgendes
Samuel Li
Kann dies verwendet werden, um einen Computer vom Herunterfahren zu wecken? Es scheint nicht so. Ist es möglich, einen Computer durch Senden des Magic Packet aus dem Kaltstart zu WOL? Apple Remote Desktop kann einen Computer bereits aus dem Ruhezustand aktivieren.
SwimBikeRun
1
@MarkTomlin Sie haben nach einem Befehlszeilenbefehl gefragt. Dies ist die richtige Antwort.
Ulises Layera
7

Python wird standardmäßig mit OS X geliefert. Sie könnten also dieses kleine Python 2-Skript verwenden, um das Wake-on-Lan-Paket zu senden. Speichern Sie es als wakeonlan.pyoder etwas, das Sie mögen:

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

Benutze es so:

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

Ändern Sie die IP-Adresse und die MAC-Adresse entsprechend. Die IP-Adresse sollte die Broadcast-Adresse des Netzwerks sein.

Für einen einfachen Zugriff können Sie dieses Skript ausführbar machen und es einem Verzeichnis in Ihrem Pfad hinzufügen.

JP Petersen
quelle
1
Ich mag diese Lösung ohne Installation!
Samuel Li
1

Das auf dem Mac erhältliche RubyGems-Paket kann auch zum Installieren einer Wake-on-Lan-App verwendet werden. Verwenden Sie einfach den gem install wolBefehl im Terminal. Die Aktivität wird in / usr / bin / local / wol installiert.

Auf diese Weise müssen keine Brau- oder Paketmanager installiert werden. Es akzeptiert die gleichen Argumente wie die obigen wakeonlan-Beispiele.

Abgesehen davon kann das wol-Tool einen ordnungsgemäß konfigurierten Synology NAS aktivieren.

David Edwards
quelle
0

Es ist wahrscheinlich auch möglich, über den MacPorts- Paket-Manager installiert zu werden , aber ich habe es nicht installiert, kann es nicht testen.

Rui Santos
quelle
WakeOnLan ist Teil von MacPorts. Siehe macports.org/ports.php?by=name&substr=wakeonlan
Tai Viinikka