Mac OSX'ten Diğer Bilgisayarları Uyandır


42

Mac OSX içinde, diğer bilgisayarları uyandırmak için WOL (Wake On LAN) kullanmama izin verecek bir terminal komutu var mı? Windows wolcmd var, OSX içinde bir eşdeğer var mı?

Ağımdaki bir bilgisayarı rMBP'mden uyandırmaya çalışıyorum. RMBP normalde WiFi ile bağlanır, ancak Thunderbolt GbE konektörü ile de bağlanabilir. Hedef bilgisayar, uzak bir masaüstü bağlantısı kullanarak bağlanmadan önce uyanmak istediğim bir Windows makinesi.


$ ~ / bin / wakeonlan sunucu-mac-adres-burada
Ruskes

@ Buscar, Mac'imde (OS X 10.8.4), anladım -bash: /Users/Dygear/bin/wakeonlan: No such file or directory.
Mark Tomlin

Yanıtlar:




52

Wakeonlan paketini Homebrew kullanarak kurun :

$ brew install wakeonlan

(Wake-On-LAN sihirli paketleriyle bilgisayarları uyandırmak için kullanılan bir Perl betiğidir.)

Kurulduğunda, IP'nizi (İnternet Protokolü) ve MAC (Medya Erişim Kontrolü) adresini kullanarak herhangi bir cihaza Terminalinizden "sihirli bir paket" gönderebilirsiniz.

İşte tipik bir kullanım örneği:

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

Betikler 2 argüman, NIC'in MAC adresi ve bir IP adresi alır.

Not: IP adresi argümanı aldatıcıdır ve düşündüğünüz gibi değildir.

Yerel alt ağınızdaki bir NIC için, bu alt ağın yayın adresini kullanın. (örneğin, ağ maskesi 255.255.255.0 olan 192.168.10.0 alt ağı, 192.168.10.255 kullanın)

Örneğin, IP adresiyle 10.0.1.100bir alt ağ maskesi 255.255.255.0ve bir yönlendirici adresi ile el ile yapılandırılmış bir Synology NAS'ım var 10.0.1.1.

Kullanımına doğru IP adresidir söz konusu cihazın değil , ancak bunun yerine alt ağın yayın adresi .

Örneğime devam ederek, Synology'mi başarıyla uyandırmak için aşağıdaki komutu kullandım:

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

(Doğal olarak, durumunuz için cihazınızın ve ağın gerçek değerlerini değiştirin.)

Wakeonlan man sayfasından man makeonlanya da hızlı bir komut sözlüğünden daha fazla bilgi edinebilirsiniz wakeonlan -h.


Bir yerlerde okudum, sadece macunu uykudan uyandıracak, tamamen kapandığında değil. Ve belki de sadece LAN üzerinde çalışır, WLAN ile değil.
d4Rk

1
bu kabul edilen cevap olmalıdır. Şerefe adam
spacebiker

Yayın adresim, örneğinizin gösterdiği kadar net değil, bu yüzden bu siteyi belirlemek için kullandım: remotemonitoringsystems.ca/broadcast.php
Samuel Li

Bu, bilgisayarı kapatmadan uyandırmak için kullanılabilir mi? Öyle görünmüyor. Sihirli paketi göndererek bilgisayarın soğuk önyüklemesinden kurtulması mümkün müdür? Apple Remote Desktop zaten bir bilgisayarı uyku modundan uyandırabilir.
SwimBikeRun

1
@MarkTomlin Komut satırı komutu istediniz, bu doğru cevap.
Ulises Layera,

7

Python, varsayılan olarak OS X ile birlikte gelir. Böylece bu küçük Python 2 komut dosyasını kullanarak uyanık lan paketine gönderebilirsiniz. Farklı bir şey olarak wakeonlan.pyveya istediğiniz bir şeyi kaydedin :

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

Bu şekilde kullanın:

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

IP adresini ve MAC adresini uygun şekilde değiştirin. IP adresi, ağın yayın adresi olmalıdır.

Kolay erişim için bu betiği çalıştırılabilir hale getirebilir ve yolunuzdaki bir dizine ekleyebilirsiniz.


1
Kurulum gerektirmeden bu çözümü seviyorum!
Samuel Li

1

Mac'te stokta bulunan RubyGems paketi, lan uygulamasına bir uyandırma yüklemek için de kullanılabilir. Sadece gem install wolterminalde komutu kullanın . / Usr / bin / local / wol içindeki aktiviteyi kurar.

Bu, demlemek veya paket yöneticileri kurmak zorunda kalmaz. Yukarıdaki wakeonlan örnekleriyle aynı argümanları kabul eder.

Bir kenara, wol aracı uygun şekilde yapılandırılmış bir Synology NAS'ı uyandırabilir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.