Ubuntu Server 26.04.1 på laptop i homelab
Denne guide viser, hvordan du bruger en laptop som headless Ubuntu Server 26.04.1 i dit homelab.
Målet er:
- Luk laptoplåget uden at serveren går i sleep/suspend
- Slå laptopskærmens backlight helt fra
- Behold serveren kørende
- Behold SSH, Docker, services osv. kørende
- Tænd backlight igen, når låget åbnes
1. Deaktivér suspend når låget lukkes
Redigér systemd-logind:
sudo nano /etc/systemd/logind.conf
Tilføj eller ret følgende under [Login]:
[Login]
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
Genstart derefter systemd-logind:
sudo systemctl restart systemd-logind
Du kan også bare genstarte serveren:
sudo reboot
Efter dette vil Ubuntu ikke suspendere eller hibernere, når låget lukkes.
2. Find laptopens backlight
På denne maskine er backlight eksponeret som:
/sys/class/backlight/intel_backlight
Kontrollér det med:
ls -l /sys/class/backlight/
Kontrollér den aktuelle brightness:
cat /sys/class/backlight/intel_backlight/brightness
og maksimum:
cat /sys/class/backlight/intel_backlight/max_brightness
3. Test at slukke backlight
Kør:
echo 0 | sudo tee /sys/class/backlight/intel_backlight/brightness
Skærmen skal nu blive helt sort, og backlight slukkes.
For at tænde den igen kan du f.eks. bruge:
echo 120000 | sudo tee /sys/class/backlight/intel_backlight/brightness
Brug den værdi, der passer til din laptop. Find maksimum med:
cat /sys/class/backlight/intel_backlight/max_brightness
4. Opret et script til at overvåge låget
Opret scriptet:
sudo nano /usr/local/sbin/lid-backlight.sh
Indsæt:
#!/bin/bash
BACKLIGHT="/sys/class/backlight/intel_backlight"
BRIGHTNESS="$BACKLIGHT/brightness"
MAX="$BACKLIGHT/max_brightness"
while true; do
LID_STATE=$(grep -h "state" /proc/acpi/button/lid/*/state 2>/dev/null)
if echo "$LID_STATE" | grep -q "closed"; then
echo 0 > "$BRIGHTNESS"
else
CURRENT=$(cat "$BRIGHTNESS")
if [ "$CURRENT" = "0" ]; then
echo "$(cat "$MAX")" > "$BRIGHTNESS"
fi
fi
sleep 2
done
Gør scriptet executable:
sudo chmod +x /usr/local/sbin/lid-backlight.sh
5. Opret systemd-service
Opret:
sudo nano /etc/systemd/system/lid-backlight.service
Indsæt:
[Unit]
Description=Turn laptop backlight off when lid is closed
After=systemd-logind.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/lid-backlight.sh
Restart=always
RestartSec=1
[Install]
WantedBy=multi-user.target
Genindlæs systemd:
sudo systemctl daemon-reload
Aktivér og start servicen:
sudo systemctl enable --now lid-backlight.service
6. Kontrollér at servicen kører
systemctl status lid-backlight.service
Du bør se:
Active: active (running)
Hvis du vil se logs:
journalctl -u lid-backlight.service
7. Test
Med låget åbent
Laptoppen fungerer normalt:
Server: RUNNING
SSH: RUNNING
Services: RUNNING
Backlight: ON
Luk låget
Efter et par sekunder:
Server: RUNNING
SSH: RUNNING
Services: RUNNING
Backlight: OFF
Åbn låget igen
Backlight tændes igen.
Resultat
Du har nu i praksis en headless homelab-server baseret på en laptop:
┌─────────────────────┐
│ Ubuntu Server │
│ 26.04.1 │
├─────────────────────┤
│ SSH ✓ │
│ Docker ✓ │
│ Services ✓ │
│ Network ✓ │
│ Suspend ✗ │
└──────────┬──────────┘
│
Laptop lid closed
│
▼
LCD backlight OFF
│
▼
Server keeps running
Nyttige kommandoer
Se backlight-status:
cat /sys/class/backlight/intel_backlight/brightness
Se maksimum:
cat /sys/class/backlight/intel_backlight/max_brightness
Se service-status:
systemctl status lid-backlight.service
Genstart servicen:
sudo systemctl restart lid-backlight.service
Stop servicen:
sudo systemctl stop lid-backlight.service
Deaktivér den permanent:
sudo systemctl disable --now lid-backlight.service
Bemærkning
Denne løsning er hardware-/driverafhængig. På denne laptop fungerer den, fordi Ubuntu eksponerer Intel-displayets backlight via:
/sys/class/backlight/intel_backlight
På andre laptops kan navnet være anderledes, f.eks. amdgpu_bl0, acpi_video0 eller lignende.
Ingen kommentarer endnu. Vær den første.
Log ind for at kommentere