Obudź inne komputery z systemu Mac OSX

42

Czy w systemie Mac OSX jest polecenie terminalu, które pozwoli mi używać WOL (Wake On LAN) do budzenia innych komputerów? Windows ma wolcmd, czy istnieje odpowiednik w OSX?

Próbuję wybudzić komputer z mojego rMBP w mojej sieci. Mój rMBP jest podłączony normalnie przez Wi-Fi, ale można go również podłączyć przez złącze Thunderbolt GbE. Komputer docelowy to komputer z systemem Windows, który chcę obudzić przed połączeniem się z nim za pomocą połączenia pulpitu zdalnego.

Mark Tomlin
źródło
$ ~ / bin / wakeonlan server-mac-address-here
Ruskes
@Buscar, na moim komputerze Mac (OS X 10.8.4), rozumiem -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Mark Tomlin

Odpowiedzi:

4

wolcmd jest dostępny dla komputerów Mac: http://www.depicus.com/wake-on-lan/wake-on-lan-for-apple-mac.aspx

Wersja GUI za 1,99 USD, wersja terminalowa jest darmowa. Użycie jest takie samo jak w systemie Windows.

b4d
źródło
Cieszę się, że mogłem pomóc :)
b4d
3
Po co pobierać nieprzejrzysty nieprzejrzysty plik binarny z jakiejś przypadkowej strony internetowej, skoro można po prostu użyć programu typu open source w odpowiedzi poniżej?
żałoba
58

Polecenie wakeonlanwiersza polecenia można dodać do systemu OS X za pomocą menedżera pakietów homebrew .

KesslerPeak
źródło
52

Zainstaluj pakiet wakeonlan za pomocą Homebrew :

$ brew install wakeonlan

(Jest to skrypt Perla do budzenia komputerów za pomocą magicznych pakietów Wake-On-LAN.)

Po zainstalowaniu możesz wysłać „magiczny pakiet” z terminala do dowolnego urządzenia, używając jego adresu IP (protokół internetowy) i adresu MAC (Media Access Control).

Oto przykład typowego zastosowania:

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

Skrypty przyjmują 2 argumenty, adres MAC karty sieciowej i adres IP.

Uwaga: Argument adresu IP jest trudny i nie jest taki, jak myślisz.

W przypadku karty sieciowej w lokalnej podsieci użyj adresu rozgłoszeniowego tej podsieci. (np. podsieć 192.168.10.0 z maską sieci 255.255.255.0, użyj 192.168.10.255)

Na przykład mam ręcznie skonfigurowany serwer Synology NAS z adresem IP 10.0.1.100z maską podsieci 255.255.255.0i adresem routera 10.0.1.1.

Prawidłowy adres IP, którego należy użyć, to nie adres urządzenia , ale adres rozgłoszeniowy podsieci .

Kontynuując mój przykład, użyłem następującego polecenia, aby pomyślnie obudzić moją Synology:

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

(Oczywiście zastąp rzeczywiste wartości urządzenia i sieci swoją sytuacją).

Możesz uzyskać więcej informacji ze strony podręcznika wakeonlan man makeonlanlub szybki słownik poleceń z wakeonlan -h.

rjb
źródło
Czytałem gdzieś, że obudzi twojego maca ze snu, a nie po całkowitym wyłączeniu. A może działa również tylko w sieci LAN, a nie w sieci WLAN.
d4Rk
1
to powinna być zaakceptowana odpowiedź. Na zdrowie,
kosmiczny
Mój adres rozgłoszeniowy nie jest tak jasny, jak pokazuje twój przykład, więc użyłem tej strony do ustalenia: remotemonitoringsystems.ca/broadcast.php
Samuel Li
Czy można tego użyć do wybudzenia komputera z wyłączenia? Nie wydaje się tak. Czy można WOL komputera od zimnego rozruchu, wysyłając magiczny pakiet? Apple Remote Desktop może już wybudzić komputer ze snu.
SwimBikeRun
1
@MarkTomlin Poprosiłeś o polecenie z linii poleceń, to jest poprawna odpowiedź.
Ulises Layera
7

Python jest domyślnie wyposażony w OS X. Możesz więc użyć tego małego skryptu Python 2, aby wysłać pakiet wake on lan. Zapisz jako wakeonlan.pylub coś, co lubisz:

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

Użyj tego w ten sposób:

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

Zmodyfikuj odpowiednio adres IP i adres MAC. Adres IP powinien być adresem rozgłoszeniowym sieci.

Aby uzyskać łatwy dostęp, możesz uruchomić ten skrypt i dodać go do katalogu na swojej ścieżce.

JP Petersen
źródło
1
Podoba mi się to rozwiązanie bez konieczności instalacji!
Samuel Li
1

Pakiet RubyGems, który jest dostępny na Macu, może być również użyty do zainstalowania aplikacji Wake on LAN. Wystarczy użyć gem install wolpolecenia w terminalu. Zainstaluje aktywność w / usr / bin / local / wol.

Pozwala to uniknąć konieczności instalowania menedżerów parzenia lub pakietów. Akceptuje te same argumenty, co powyższe przykłady wakeonlan.

Nawiasem mówiąc, narzędzie wol może obudzić odpowiednio skonfigurowany serwer Synology NAS.

David Edwards
źródło
0

Prawdopodobnie można go również zainstalować za pomocą menedżera pakietów MacPorts , ale nie mam go zainstalowanego, nie mogę go przetestować.

Rui Santos
źródło
WakeOnLan jest częścią MacPorts, patrz macports.org/ports.php?by=name&substr=wakeonlan
Tai Viinikka