从Mac OSX唤醒其他计算机


42

Mac OSX中是否有一个终端命令,该命令可以让我使用WOL(局域网唤醒)来唤醒其他计算机?Windows具有wolcmd,在OSX中是否具有等效功能?

我正在尝试从网络中的rMBP唤醒计算机。我的rMBP通常通过WiFi连接,但也可以通过Thunderbolt GbE连接器连接。目标计算机是Windows计算机,我想在使用远程桌面连接连接到它之前将其唤醒。


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

@Buscar,在我的Mac(OS X 10.8.4)上,我得到了-bash: /Users/Dygear/bin/wakeonlan: No such file or directory
Mark Tomlin 2013年

Answers:




52

使用Homebrew安装wakeonlan软件包:

$ brew install wakeonlan

(这是一个Perl脚本,用于通过“局域网唤醒”魔术包唤醒计算机。)

安装后,您可以使用其IP(互联网协议)和MAC(媒体访问控制)地址将“魔术包”从终端发送到任何设备。

这是典型用法的示例:

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

脚本采用2个参数,即NIC的MAC地址和IP地址。

注意:IP地址参数很棘手,不是您想的那样。

对于本地子网上的NIC,请使用该子网上的广播地址。(例如,子网掩码192.168.10.0和网络掩码255.255.255.0,请使用192.168.10.255)

例如,我手动配置了Synology NAS,其IP地址为10.0.1.100,子网掩码为255.255.255.0,路由器地址为10.0.1.1

正确使用的IP地址不是设备的 IP地址,而是子网广播地址

继续我的示例,我使用以下命令成功唤醒了Synology:

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

(自然,用您的设备和网络的实际值代替您的情况。)

您可以从wakeonlan手册页中获取更多信息man makeonlan,或者从中获取命令的快速词汇表wakeonlan -h


我在某处读到,它只会将Mac从睡眠状态唤醒,而不会在完全关闭电源时唤醒。也许它也仅适用于LAN,不适用于WLAN。
d4Rk 2016年

1
这应该是公认的答案。干杯的人
spacebiker

我的广播地址并不如您的示例所示清晰,因此我使用此站点来确定:remotemonitoringsystems.ca/broadcast.php
Samuel Li

可以用来从关机状态唤醒计算机吗?似乎并非如此。通过发送魔术包可以从冷启动中唤醒计算机吗?Apple Remote Desktop已经可以将计算机从睡眠状态唤醒。
SwimBikeRun '17

1
@MarkTomlin您要求输入命令行命令,这是正确的答案。
Ulises Layera

7

默认情况下,Python随附OSX。因此,您可以使用此小型Python 2脚本发送lan唤醒包。将其另存为wakeonlan.py或喜欢的东西:

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

像这样使用它:

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

相应地修改IP地址和MAC地址。IP地址应该是网络的广播地址。

为了便于访问,您可以使该脚本可执行,并将其添加到路径中的某个目录中。


1
我喜欢这种解决方案,无需安装!
塞缪尔·李

1

Mac上的RubyGems软件包也可以用于在LAN应用程序上安装唤醒功能。只需gem install wol在终端中使用命令即可。它将把活动安装在/ usr / bin / local / wol中。

这避免了必须安装Brew或软件包管理器。它接受与上面的wakeonlan示例相同的参数。

顺便说一句,wol工具可以唤醒正确配置的Synology NAS。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.