Login-Seite überarbeitet, TESM-Logo als echter Hintergrund; SSH-MOTD-Banner mit Live-Daten
- Login-Seite: WiS-/TESM-Logo und "Melde dich an, um fortzufahren" aus der Box entfernt; die TESM-Wortmarke mit Funktionszeile ist jetzt der tatsächliche Seitenhintergrund (absolut positioniert, hinter allem), die Box liegt zentriert davor. Nebenbei zwei echte Bugs gefunden und behoben: fehlendes Cache-Busting auf login.html (asset_url() wie in base.html, sonst hält nginx' 7-Tage-Cache eine alte style.css/app.js fest) und ein durch den fehlenden align-items-Wert auf die volle Höhe gestrecktes Login-Formular. - Neuer SSH-Login-Banner (dynamisches MOTD) mit Live-Flottenstatus statt der Standard-Ubuntu-Willkommensmeldung: srv/tesm/motd_banner.py liest Online/Offline- und DHCP-Status aus denselben Quellen wie das Web-Dashboard (get_device_status()/_dhcp_read_leases()), eingebunden über etc/update-motd.d/50-tesm. install.sh deaktiviert dabei die Standard- Ubuntu-MOTD-Skripte (chmod -x, reversibel) und installiert den neuen Hook.
This commit is contained in:
@@ -687,6 +687,44 @@ zeigten korrekt die neue Fehlermeldung, da die realen Switch-IPs
|
||||
(192.168.200.x) vom Test-Host aus nicht erreichbar sind — vorher hätte das
|
||||
fälschlich als 43× „PoE deaktiviert“/„PoE aktiviert“ geloggt.
|
||||
|
||||
## SSH-Login-Banner (dynamisches MOTD)
|
||||
|
||||
Ein SSH-Login auf den TESM-Host selbst zeigt statt der Standard-Ubuntu-
|
||||
Willkommensmeldung einen kompakten Live-Status der Flotte — Bernstein/Amber
|
||||
als Akzentfarbe (passend zum Logo), fett hervorgehobene Zahlen:
|
||||
|
||||
```
|
||||
TESM · TimEShepManager
|
||||
überwachen · booten · anbinden (DHCP) · Betriebssystem geben (PXE)
|
||||
|
||||
3 Clients online · 45 down · DHCP: installiert, gestoppt
|
||||
```
|
||||
|
||||
Umgesetzt als zwei Teile:
|
||||
- **`srv/tesm/motd_banner.py`** — liest den Live-Status aus genau denselben
|
||||
Quellen wie das Web-Dashboard, ohne selbst zu prüfen: `get_device_status()`
|
||||
parst dieselbe Check-Log-Datei (`live.log`) wie das Dashboard,
|
||||
`_detect_dhcp_status()`/`_dhcp_read_leases()` lesen Dienststatus bzw. die
|
||||
Kea-Lease-CSV direkt. Läuft über `venv/bin/python3` (importiert `app.py`,
|
||||
das Flask u.a. braucht, die nur dort installiert sind — dasselbe Muster
|
||||
wie `generate_ips.py`). Ein Fehler beim Datenzugriff lässt die jeweilige
|
||||
Zeile nur einen Platzhaltertext zeigen, statt den Login zu stören.
|
||||
- **`etc/update-motd.d/50-tesm`** — der eigentliche, ausführbare
|
||||
Ubuntu-„dynamic MOTD"-Hook (`run-parts /etc/update-motd.d`, von
|
||||
`pam_motd.so` bei jedem SSH-Login neu ausgeführt und nach
|
||||
`/run/motd.dynamic` geschrieben). `timeout 3` verhindert, dass ein
|
||||
hängender DB-/Dateizugriff den Login blockiert.
|
||||
|
||||
**Bewusst kein PXE-Status** in der Live-Zeile: anders als Überwachen/
|
||||
Booten/DHCP ist PXE bislang nur Teil der Tagline, keine echte, mit Daten
|
||||
hinterlegte Funktion der App — ein erfundener Wert wäre keine Live-Daten.
|
||||
|
||||
Die Standard-Ubuntu-MOTD-Skripte (`00-header`, `10-help-text`,
|
||||
`50-motd-news`, `60-unminimize`, `91-release-upgrade`,
|
||||
`92-unattended-upgrades`) werden vom Installer per `chmod -x` deaktiviert
|
||||
(nicht gelöscht — jederzeit reversibel mit `chmod +x`), damit nur noch der
|
||||
TESM-Banner erscheint.
|
||||
|
||||
## Netzwerkeinstellungen des Hosts (Systemeinstellungen)
|
||||
|
||||
Eigene, klar getrennte Funktion von obigem DHCP-*Server*: hier geht es um
|
||||
|
||||
Reference in New Issue
Block a user