Включите Wake-on-LAN для удаленного пробуждения (или загрузки) Ubuntu 24.04.
В этом пошаговом руководстве показано, как включить функцию Wake-on-LAN в Ubuntu, чтобы вы могли вывести ее из состояния приостановки, гибернации или выключения удаленно с помощью другого компьютера или мобильного телефона.
Wake on LAN, короче WoL, — это протокол, позволяющий включать компьютер или выводить его из спящего режима с помощью сетевого сообщения. Он основан на технологии Magic Packet от AMD и также известен как пробуждение по глобальной сети, дистанционное пробуждение, включение по локальной сети и возобновить по локальной сети.
WoL использует проводную сеть на целевом компьютере для связи. Однако существует также функция Wake on Wireless LAN (WoWLAN), позволяющая просыпаться по беспроводной сети.
Требования:
Это руководство протестировано на Ubuntu 24.04 LTS, хотя оно должно работать на всех текущих выпусках Ubuntu, а также на многих других дистрибутивах Linux.
Прежде чем приступить к работе, вам необходимо:
- Материнская плата и сетевая карта, поддерживающие Wake on LAN.
- Оставьте целевой компьютер или ноутбук подключенным с помощью сетевого кабеля. Некоторые беспроводные сетевые карты поддерживают WowLAN, и я покажу вам, как включить эту функцию ниже, однако в моем случае она НЕ пробуждается по Wi-Fi. .
Шаг 1. Включите Wake on LAN в настройках BIOS.
Сначала запустите или перезагрузите компьютер. Во время процесса запуска нажмите определенную клавишу (F1
~ F12
, Esc
или Del
в зависимости от вашего устройства. ), чтобы войти в BIOS.
Настройте следующие параметры в BIOS:
- Включите Wake-on-LAN. Название может отличаться в зависимости от производителя материнской платы. Это также может быть «Включение PCI», «Разрешить событие пробуждения PCI» или «Загрузка с PCI/PCI-E».
- Отключите режим ErP, если он существует. Он предназначен для экономии еще большей энергии в выключенном состоянии. Что, однако, мешает WoL работать должным образом.
- Включите питание USB или аналогичный вариант. В моем ThinkPad мне нужно включить «Всегда включен USB» и «Зарядка в режиме батареи» — заряжать внешнее устройство, когда система находится в спящем режиме или выключенном состоянии и в режиме батареи. Или он не выйдет из спящего режима или выключится при работе от батареи.
ПРИМЕЧАНИЕ. После этого шага сетевая карта по-прежнему получает питание, даже когда компьютер находится в выключенном состоянии. Это может привести к разрядке аккумулятора на некоторых ноутбуках.
Шаг 2. Включите Wake on LAN в Ubuntu
После включения этой функции в BIOS вам также необходимо настроить операционную систему для ее работы. Насколько мне известно, в Ubuntu Linux есть графический вариант и несколько инструментов командной строки.
Вариант 1. Используйте редактор сетевых подключений (графический способ).
Если вы запускаете целевой компьютер с Ubuntu Desktop, то это очень просто, используя встроенный инструмент редактирования сетевых подключений. Однако это работает только для проводной сети!
Сначала найдите и запустите «Расширенную конфигурацию сети» из меню «Пуск» системы или из обзора GNOME, в зависимости от среды вашего рабочего стола.
Советы: по выбору вы можете запустить команду nm-connection-editor
, чтобы запустить инструмент из командной строки..
Когда он откроется, дважды щелкните, чтобы отредактировать проводное сетевое соединение. Наконец, включите опцию «Magic» для Wake on LAN на вкладке Ethernet и сохраните.
Вариант 2: используйте инструмент командной строки nmcli
По выбору инструмент настройки командной строки nmcli
для Network Manager также может выполнять эту работу как для проводных, так и для беспроводных подключений.
1. Сначала откройте терминал (Ctrl+Alt+T) и выполните команду, чтобы отобразить все сетевые подключения:
nmcli connection show
Как показано на снимке экрана ниже, у меня есть проводное сетевое устройство, подключенное к «netplan-enp0s31f6», а сетевое устройство Wi-Fi, подключенное к «elite01».
2. Затем запустите последнюю команду, указав имя сетевого подключения («netplan-enp0s31f6» или «elite01» в моем случае), чтобы проверить его конфигурации.
Например, в моем случае запустите команду ниже, она покажет конфигурации проводного сетевого подключения (замените netplan-enp0s31f6
на свой).
nmcli connection show "netplan-enp0s31f6" |grep 802
Пока |grep 802
отфильтровывает ту часть, которая мне нужна для информации о Wake on Lan.
3. Как показано на последнем снимке экрана, «802-3-ethernet.wake-on-lan» является ключевым параметром конфигурации для включения WoL для этого соединения.
Ключевое значение обычно «по умолчанию». Нам нужно установить значение «magic», чтобы оно заработало (замените netplan-enp0s31f6
на свой).
nmcli connection modify "netplan-enp0s31f6" 802-3-ethernet.wake-on-lan magic
Кроме того, установите для параметра 802-3-ethernet.auto-negotiate значение «да», что может помочь, если сетевой адаптер выключается при завершении работы.
nmcli connection modify "netplan-enp0s31f6" 802-3-ethernet.auto-negotiate yes
(Для WoWLAN) Если вы пытаетесь включить Wake on WiFi, вместо этого используйте следующие команды (замените «elite01» на имя вашего сетевого подключения Wi-Fi):
Проверьте параметры конфигурации:
nmcli connection show "elite01" |grep 802
Установите для параметра «802-11-wireless.wake-on-wlan» значение «магия»:
nmcli connection modify "elite01" 802-11-wireless.wake-on-wlan magic
Отключите функцию автосохранения питания Wi-Fi:
nmcli connection modify "elite01" 802-11-wireless.powersave disable
Шаг 3. Запустите WoL на целевой машине.
1. Для запуска WoL вам понадобится MAC-адрес сетевого интерфейса на целевом компьютере. Просто откройте терминал (Ctrl+Alt+T
), затем выполните команду ниже, чтобы узнать:
ip link
Затем скопируйте или запишите MAC-адрес (в моем случае e8:6a:64:d9:d3:66) сетевого устройства, которое вы хотите использовать для запуска WoL.
2. Затем установите приложение Wake-on-LAN на удаленный компьютер или мобильный телефон, а затем настройте его для целевого компьютера.
- Для Android и iOS просто выполните поиск «wake on lan» в Google Play или App Store. Есть довольно много приложений для выполнения этой работы.
- Для Linux найдите и установите графический инструмент «
gwakeonlan
» или инструмент командной строки «wakeonlan
» из системного репозитория. - Не знаете ни одного приложения для Windows и macOS, попробуйте поискать в системном магазине приложений.
3. Прежде чем приостанавливать, выключать или переводить целевой компьютер в спящий режим, вы можете сначала проверить, может ли он правильно получить сообщение для WoL.
Для этого откройте терминал (Ctrl+Alt+T) и выполните приведенную ниже команду на целевом компьютере с Ubuntu:
sudo nc -u -l -p 9
После ввода пароля пользователя он зависает на мигающем курсоре в ожидании удаленного сообщения.
На удаленном компьютере или мобильном телефоне, как только вы нажмете кнопку «Загрузка» или «Включить», чтобы запустить WoL на целевом компьютере, в окне терминала должно немедленно отобразиться сообщение (хотя и нечитаемое). Если ничего не происходит, значит, что-то не так!
4. Если последний шаг работает правильно, теперь вы можете приостановить, перевести в спящий режим или выключить целевой компьютер. Затем попробуйте разбудить его с помощью удаленного приложения.
ПРИМЕЧАНИЕ. Пробуждение по беспроводной локальной сети поддерживает только выход из режима ожидания, хотя в моем случае это не работает, поскольку Wi-Fi всегда отключается в режиме ожидания.
Отменить и отключить пробуждение по локальной сети
Чтобы отменить все изменения, сначала настройте BIOS для отключения WoL.
Затем откройте терминал в Ubuntu и выполните команду:
Для проводной сети используйте команду для отключения пробуждения по локальной сети:
nmcli connection modify "netplan-enp0s31f6" 802-3-ethernet.wake-on-lan disabled
Для беспроводной сети используйте этот параметр, чтобы отключить пробуждение по WLAN:
nmcli connection modify "elite01" 802-11-wireless.wake-on-wlan disabled
В приведенных выше командах замените netplan-enp0s31f6
и elite01
на имена ваших подключений в соответствии с выводом команды nmcli c show
.