
Debian UI ein/ausschalten
« | 12 Nov 2023 | »X11 und ein UI Desktop gehören einfachen zu jedem Linux dazu. Warum auch nicht, selbst wenn man sie nicht immer braucht.
… dachte ich, bis ich mir die Speicherauslastung ansah.
Jetzt heißt es: Abschalten!
Am Hyper-V Server gibt es das tolle
Feature: Dynamischer Speicher.
Man ordnet dem System ein Minimum garantiert zu, lässt aber einen
Spielraum für die maximale Nutzung offen.
Wenn VMs jetzt nicht den vollen Speicher brauchen, bleibt dieser für andere
Aufgaben oder andere VMs übrig.
Und genau so kann ich wesentlich mehr VMs gleichzeitig starten.
Meine Debian Server zum Bauen von Software starten daher mit 1 GB RAM, dürfen sich aber bis zu 4 GB krallen, wenn noch so viel frei ist.
Jetzt braucht ein Buildserver natürlich kein UI, doch ich installiere es trotzdem manchmal mit, damit ich im Notfall auch dort ein paar Dinge komfortabler durchführen kann, oder weil ich meine eigenen X11-Apps schnell testen möchte.
Mit aktivierter X11 Desktop Session schwillt der Speicherbedarf aber schnell
auf die erlaubten 4 GB an, ohne dass ich die UI überhaupt nutze.
Es macht also durchaus Sinn die grafische Benutzerschnittstelle erst gar nicht
zu starten, wenn ich sie nicht brauche.
X11 unter Debian ein und ausschalten
Vor über 20 Jahren lernte ich noch etwas über “Runlevel”:
init 3
startet den Mehrbenutzer-Modus ohne UI (also nur die Text-Konsole)init 5
startet die volle grafische Oberfläche unter Linux.
Heute hat systemd
diese Funktion übernommen und benennt die Runlevels in
“Targets” um.
multi-user.target
bezeichnet den Konsolenmodusgraphical.target
stellt die volle grafische Oberfläche bereit.
Und um beim Start eben nur die Konsole zu starten und auf die UI zu verzichten reicht ein einfaches:
1sudo systemctl set-default multi-user.target
Umgekehrt kann der automatische Start der GUI mit
1sudo systemctl set-default graphical.target
wieder aktiviert werden.
Fazit
Das witzige ist, dass ich mich selten direkt auf solchen Maschinen im UI
einlogge, sondern eher xrdp
nutze. Auch hier ist der automatische Start
der GUI eine reine Speicherverschwendung, den xrdp
startet erst dann
die grafische Umgebung, wenn die erste Remote-Verbindung angenommen wird.
Das Installieren einer GUI kann also auch auf Servern Sinn machen, doch es lohnt sich dieses “Target” nicht automatisch hochziehen zu lassen.
Mit dem multi-user.target
fährt man also am besten und schont vor allem
die Ressourcen der Hardware oder des VM-Hosts.
Und wenn man direkt zur GUI wechseln möchte, erledigt das
1systemctl isolate graphical.target
was dem früheren init 5
entsprechen würde.