Log ind Opret bruger

← Tilbage til artikler

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.

##ubuntu ##server ##msi ##homelab
Ubuntu Server 26.04.1 på laptop i homelab

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.


Alle artikler
0 kommentarer

Ingen kommentarer endnu. Vær den første.

Log ind for at kommentere