1. Übersicht: Warum ist es notwendig?
Es ist sowohl energieintensiv als auch kostspielig, einen Desktop 24 Stunden am Tag zu betreiben, sei es zu Hause oder im Büro.
Deshalb habe ich darüber nachgedacht, wie ich mit einem Raspberry Pi, der wie ein kleiner Server 24 Stunden läuft, jederzeit den Desktop aus der Ferne einzuschalten.
Dazu habe ich eine Strategie entwickelt, die die Funktion "Wake-on-LAN (WOL)" nutzt:
- BIOS-Einstellungen des Desktops: WOL-Funktion aktivieren
- Linux (Ubuntu) Einstellungen: Netzwerkkarte bleibt auch nach dem Herunterfahren aktiv
- Raspberry Pi Einstellungen: Skript zum Senden von Magic Packets erstellen und automatisieren
Benötigte Pakete:
- wakeonlan
(zum Senden von Magic Packets vom Raspberry Pi oder Server)
2. Konfiguration
- Ziel-PC: Desktop mit Ubuntu 24.04 installiert
- Server: Raspberry Pi 5 (Ubuntu Server 24.04)
- Netzwerk: Verbunden im gleichen lokalen Netzwerk (verkabelt empfohlen)
3. BIOS-Einstellungen des Desktops
Um Wake-on-LAN zu nutzen, sind die BIOS-Einstellungen des Motherboards äußerst wichtig.
So ändern Sie die BIOS-Einstellungen
Im BIOS stellen Sie die folgenden Punkte ein. Ich habe ein GIGABYTE-Motherboard verwendet; Benutzer anderer Marken sollten ähnliche Optionen beachten.
- Beim Booten des Desktops ins BIOS/UEFI Setup eingeben ( normalerweise
DEL
,F2
Taste) - Aktivieren Sie die folgenden Optionen:
ERP (Energiesparmodus)
- ERP
Einstellung: Disabled (ausgeschaltet), da der Energiesparmodus WOL-Funktion verhindern kann.
CSM aktivieren
- CSM Support
: Enabled
- Nach der CSM-Einstellung können möglicherweise die folgenden Optionen angezeigt werden (im Falle von GIGABYTE-Motherboards):
- LAN PXE Boot Option ROM
: deaktiviert lassen
- Save OpROM policy
: Legacy
- Other PCI devices
: Legacy
Resume by LAN / Power On by PCI-E
- Einige Boards unterstützen dies automatisch, auch ohne spezielle Optionen → Es kann normal funktionieren, auch wenn die Option nicht angezeigt wird.
- Speichern und neu starten
※ Je nach Hersteller können die Optionen leicht variieren, suchen Sie nach ähnlichen Optionen wie 'Wake' oder 'Power On by PCI' und stellen Sie sie ein.
4. Linux (Ubuntu) Einstellungen des Desktops
Unter Ubuntu muss die NIC (Network Interface Card) aktiv bleiben, auch wenn das System heruntergefahren wird.
1. Überprüfen des Netzwerk-Interface-Namens
ip a
Beispielausgabe:
2: enp4s0: ...
link/ether <AA:BB:CC:DD:EE:FF> ...
enp4s0
: Überprüfen Sie den Namen der Netzwerk-Schnittstelle. (Das ist der WLAN-Gerätename des Desktops, also kann dies je nach Gerät unterschiedlich sein.)AA:BB:CC:DD:EE:FF
: MAC-Adresse (Ziel des Magic Packets) ※ Achten Sie auf die Sicherheit, wenn die MAC-Adresse freigegeben wird.
2. ethtool installieren
sudo apt update
sudo apt install ethtool
3. WOL-Status überprüfen und einstellen
sudo ethtool enp4s0 | grep Wake
Beispielausgabe:
Supports Wake-on: pumbg
Wake-on: d
d
→ Deaktiviert- Aktivieren mit dem folgenden Befehl:
sudo ethtool -s enp4s0 wol g
Nochmals überprüfen:
Wake-on: g
4. Automatische Einstellung beim Booten (optional: anwenden, wenn Wake-on:g nach dem Neustart deaktiviert ist)
Nach Ubuntu 20.04 wird /etc/rc.local
nicht mehr standardmäßig unterstützt, daher wird die Verwendung eines systemd-Dienstes eher empfohlen.
So erstellen Sie /etc/rc.local
:
sudo nano /etc/rc.local
Fügen Sie über exit 0
hinzu:
/sbin/ethtool -s enp4s0 wol g
exit 0
Nach dem Speichern der Datei setzen Sie die Ausführungsberechtigung:
sudo chmod +x /etc/rc.local
Zusätzliche systemd-Dienstkonfiguration kann erforderlich sein.
5. Magic Packet vom Raspberry Pi senden
1. Installieren Sie das wakeonlan
Paket
sudo apt install wakeonlan
2. WOL-Befehl ausführen
wakeonlan AA:BB:CC:DD:EE:FF # Hier die oben überprüfte MAC-Adresse einfügen.
3. (Optional) Alias registrieren
# Fügen Sie die MAC-Adresse des Boot-Ziel-PCs anstelle von AA:BB:CC:DD:EE:FF ein.
echo "alias wakeup_dude='wakeonlan AA:BB:CC:DD:EE:FF'" >> ~/.bashrc
source ~/.bashrc
→ Von nun an kann der Befehl einfach wie folgt ausgeführt werden:
wakeup_dude
6. Ergebnisse
- Der Desktop bootet automatisch nach Empfang des Magic Packets, auch wenn er vollständig ausgeschaltet ist
- Erfolgreiche Implementierung von Wake-on-LAN remote boot!
7. Sicherheitsaspekte
- Die Sicherheitseinstellungen für die SSH-Verbindung des "Raspberry Pi", der als Kontrollzentrale fungiert, sowie Router-Sicherheitseinstellungen und UFW-Konfigurationen müssen auf jeden Fall verstärkt werden.
- Wenn Sie von außen zugreifen, wird empfohlen, SSH-Portweiterleitung oder VPN zu verwenden.
8. Anwendungsbeispiele
# Zugriff von außen
ssh username@<your_ip_or_domain> -p <your_ssh_port>
# Nach der Verbindung
wakeup_dude
🎉 Desktop automatisch booten!
9. Referenzen
- Wake-on-LAN funktioniert nur über verkabeltes LAN (Wi-Fi ist nicht möglich)
- Einige Boards funktionieren im
Suspend
-Zustand, aber imShutdown
-Zustand kann dies eingeschränkt sein. (Bei GIGABYTE-Boards wurde der Erfolg auch im Shutdown bestätigt.)
Durch den Aufbau einer Desktop-Umgebung, die nur dann aufwacht, wenn sie benötigt wird, wird eine intelligente und effiziente Serververwaltung ermöglicht.
Es sind keine Kommentare vorhanden.