Userspace statt Kernel: Systemd bekommt virtuelle Terminals
Wie von Entwickler David Herrmann angekündigt bekommt Systemd nun virtuelle Terminals im Userspace. Mit dem noch experimentellen Code lässt sich eine Terminal-Sitzung bereits testen.

Mit der neuen Version 217 von Systemd, die demnächst erscheinen soll, ist es erstmals möglich, ein einzelnes virtuelles Terminal (VT) aus einer Nutzer-Sitzung heraus zu starten. Das Terminal nutzt dabei Code im Userspace und greift nicht auf die bisher verwendete VT-Infrastruktur im Kernel zurück. Noch sei der Code sehr experimentell, und der Entwickler David Herrmann schreibt in der dazugehörigen Git-Nachricht, dass noch viele Funktionen fehlten.
Bereits im November 2013 kündigte Herrmann seine Idee mit einer Reihe von Patches an, die Code zum Testen bereithielten. Der Entwickler forderte Interessierte zu Kommentaren auf. In der Einführungsmail erklärte Herrmann zudem, dass seine Implementierung den bisher im Kernel verwendeten Code ersetzen solle, was mehrere Vorteile mit sich bringe.
So sei der Kernel mit duplizierten Funktionen aus dem Userspace überfrachtet, zum Beispiel mit verschiedenen Tastaturlayouts oder mehrsprachigen Schrifttypen. Zudem ließen sich die Kernel-VTs nicht konfigurieren und die notwendige UI-Schicht gefährde die Stabilität und Sicherheit des Kernels. Schließlich könnten Angreifer durch einen Fehler im UI-Code Rechte über den Kernel erlangen. Als langfristiges Ziel gab Herrmann an, einen Ersatz für Agetty zu schaffen und einen Start mit der Konfigurationsvariablen CONFIG_VT=n, also ohne Kernel-VT zu ermöglichen.
So weit ist der nun in Systemd verfügbare Code aber noch nicht: Bis jetzt kann der für die Terminal-Umgebung zuständige Console-Daemon lediglich ein Terminal pro Nutzer-Sitzung bereitstellen. Künftig soll auch der für die meisten Anwender typische Umgang mit mehreren Terminals in einer einzelnen Nutzer-Sitzung möglich werden. Mit der Veröffentlichung von Systemd 216 im August dieses Jahres ist bereits die Terminal-Bibliothek erschienen, die genutzt wird, um den TTY-Stream zu parsen und zu rendern. Dieser Code dient als Unterbau für den Console-Daemon.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Jeder, der ernsthaft Linux einsetzt, verwendet den Kernel des Distributors (in der Regel...
Naja, evtl. wirds aber richtig, wenn man es nur oft genug wiederholt.