← Back to list

Skrypt Wake-on-LAN — Jak zdalnie uruchomić komputer jedną komendą?

Mam stację roboczą, która jest wyłączona przez większość dnia. Kiedy jej potrzebuję — loguję się na La Potato przez SSH i odpalam jeden…

De Os · 2026-05-06 00:00 · 0 claps · 1.5 min read
Open on Medium ↗

Skrypt Wake-on-LAN — Jak zdalnie uruchomić komputer jedną komendą?

Mam stację roboczą, która jest wyłączona przez większość dnia. Kiedy jej potrzebuję — loguję się na La Potato przez SSH i odpalam jeden skrypt. Po kilku sekundach maszyna działa. Jak to zrobić?

Jeśli nie wiesz o czym mówię, przeczytaj najpierw o całym setupie tutaj: Jak mam dostęp do stacji roboczej z dowolnego miejsca na świecie.

Skrypt

%%bash
#!/bin/bash
# Wake Ubuntu server/desktop

HOMELAB_MAC="14:4A:66:87:95:8A"
HOMELAB_IP="192.168.0.5"

echo "Waking HomeLab ..."
$wakeonlan HOMELAB_MAC

# Wait for IronBlaze
for i in {1..12}; do
        if ping -c 1 $HOMELAB_IP >/dev/null 2>&1; then
                #echo "Iron is awake!"
                echo "HomeLab is awake!"
                break
        fi
        echo "Waiting... ($i/12)"
        sleep 10
done

Co to jest Wake-on-LAN?

Wake-on-LAN (WoL) to funkcja, która pozwala uruchomić komputer zdalnie przez sieć. Komputer jest wyłączony, ale karta sieciowa nadal nasłuchuje. Kiedy dostanie specjalny pakiet (tzw. magic packet) z odpowiednim adresem MAC — uruchamia maszynę.

Żeby to działało, potrzebujesz dwóch rzeczy: włączonego WoL w BIOS-ie stacji roboczej i drugiego urządzenia w tej samej sieci, które wyśle magic packet. U mnie tym urządzeniem jest La Potato.

Jak to działa?

Skrypt robi dwie rzeczy. Najpierw wysyła magic packet na adres MAC stacji roboczej za pomocą wakeonlan. Potem w pętli sprawdza co 10 sekund, czy maszyna już odpowiada na ping. Maksymalnie czeka 2 minuty (12 prób × 10 sekund). Kiedy stacja odpowie - wyświetla "HomeLab is awake!" i kończy.

>/dev/null 2>&1 to przekierowanie outputu - nie chcę widzieć komunikatów z pinga, interesuje mnie tylko czy przeszedł, czy nie.

Wymagania

Na La Potato (lub innym urządzeniu wysyłającym) musisz mieć zainstalowany pakiet wakeonlan:

Na stacji roboczej — WoL musi być włączony w BIOS-ie (szukaj “Wake on LAN” albo “Power on by PCI-E”) i w systemie:

Żeby ustawienie przetrwało restart, dodaj to do /etc/network/interfaces albo stwórz serwis systemd.

Warto wiedzieć

MAC adres to adres fizyczny karty sieciowej — nie zmienia się. IP w moim przypadku to adres Tailscale (100.x.x.x), ale magic packet działa na warstwie L2, więc oba urządzenia muszą być w tej samej sieci lokalnej. Dlatego La Potato stoi fizycznie obok stacji roboczej, podłączone do tego samego routera.

Ping na adres Tailscale służy tylko do sprawdzenia, czy maszyna się obudziła i dołączyła do sieci — sam WoL nie ma z Tailscale nic wspólnego.

🔗 Cały setup — Tailscale + Wake-on-LAN

🔗 Portfolio

Originally published at https://deos.blog on May 6, 2026.


메타데이터
post_id
f77f9bd569ea
slug
skrypt-wake-on-lan-jak-zdalnie-uruchomić-komputer-jedną-komendą-f77f9bd569ea
url
https://medium.com/@DeOss/skrypt-wake-on-lan-jak-zdalnie-uruchomi%C4%87-komputer-jedn%C4%85-komend%C4%85-f77f9bd569ea
canonical_url
https://medium.com/@DeOss/skrypt-wake-on-lan-jak-zdalnie-uruchomi%C4%87-komputer-jedn%C4%85-komend%C4%85-f77f9bd569ea
author_url
https://medium.com/@DeOss
status
ok
fetched_at
2026-07-14 14:14:34