Windows Terminal: Microsofts Konsole für alle Kommandozeilen

    Windows TerminalDas im Mai auf der Build-Konferenz ange­kündigte Windows Terminal ist mittler­weile als Preview im Micro­soft Store ver­fügbar. Es soll in Zukunft die gemein­same Konsole für alle Shells und Kommando­zeilen­programme werden. Aktuell hebt sie sich von der her­kömm­lichen Konsole primär durch ihre Design-Optionen ab.

    Die in Windows 10 integrierte Konsole machte während der letzten Updates erhebliche Fortschritte. Dazu zählen etwa erweiterte Möglich­keiten für das Mar­kieren, Kopieren und Einfügen von Text (Markieren über Zeilen­umbrüche hinweg, Unterstützung für STRG + C bzw. STRG + V). Die neuesten Errungen­schaft in Windows 1903 ist das Zoomen des Konsolen­fensters mit STRG + Mausrad.

    Support für VT-Steuercodes

    Eine weitere Neuerung von erheblicher Tragweite, die von Windows-Benutzern aber kaum wahr­genommen wurde, ist der Support für VT-Escape-Sequenzen. Mit ihrer Hilfe steuern viele Unix-Programme, die im Textmodus laufen, das Aussehen des Terminals, darunter nicht nur Farben, sondern auch die Position und die Form des Cursors.

    Standardeinstellungen im Terminal-Fenster für Programme, die VT-Codes verwenden.

    Mit dieser Erweiterung reagierte Microsoft auf die Anforderungen des Subsystems für Linux, dessen Programme vielfach VT-Sequenzen nutzen. Die genannten Neuerungen zeigten laut Microsoft aber auch die Grenzen des bestehenden Konsolen­subsystems auf, das weiterhin mit bestehenden Textmodus­programmen kompatibel bleiben muss.

    Quelloffenes Windows Terminal

    Als Konsequenz daraus begann der Hersteller mit der Entwicklung von Windows Terminal, das in Zukunft die Grundlage für diverse Shells und Kommandozeilen-Tools bilden soll. Wie eine Reihe anderer Projekte aus der letzten Zeit, zum Beispiel PowerShell Core, erscheint es unter einer Open-Source-Lizenz.

    Eine Innovation von Windows Terminal ist die Unterstützung für Tabs. Solche gab es auch für die her­kömmliche Konsole im Build 17666 von Windows 10, das Feature wurde aber dann entfernt und somit nie mit einem offiziellen Release ausgeliefert.

    Redstone 5 bot bereits Tabs, hier PowerShell_ISE, PowerShell und die App Einstellungen im gleichen Fenster

    Zu den weiteren Besonder­heiten von Windows Terminal gehört, dass es eine auf DirectWrite bzw. DirectX basierende Rendering Engine nutzt. Daher kann es alle Zeichen und Symbole (inklusive Emoticons) darstellen, die in den Schrift­arten des Rechners enthalten sind. Zudem soll die Anzeige wesentlich schneller erfolgen als bei der alten Konsole.

    Bereitstellung als Store App

    Ein wesentlicher Unterschied zum bisherigen Konsolen­system besteht darin, dass es sich beim Windows Terminal um eine Universal Windows App (UWP) handelt. Als solche ist sie seit Kurzem über den Microsoft Store verfügbar. Sie setzt mindestens das Release 1903 von Windows 10 voraus und wird, wie bei den Store Apps üblich, für jeden Benutzer separat installiert.

    Die Preview von Windows Terminal kann vom Microsoft Store heruntergeladen werden.

    Nach dem ersten Start präsentiert sich die Preview von Windows Terminal relativ spartanisch. Es gibt kein Systemmenü, in dem sich bei der herkömmlichen Konsole die Einträge für Bearbeiten, Eigenschaften und Standardwerte befinden. Im ersten Tab startet standard­mäßig automatisch PowerShell Core.

    Eigenwillige Bedienung

    Versucht man das Fenster zu verschieben, indem man es mit der Maus an der Titelleiste festhält, dann wird man feststellen, dass dies nicht klappt und das Terminal sich gegen diese Windows-Konvention verhält. Es lässt sich nur bewegen, wenn man die Maus rechts vom Plus-Symbol ansetzt.

    Über die Titelleiste links vom +-Symbol lässt sich das Fenster nicht verschieben.

    Letzteres dient dazu, eine neue Registerkarte zu öffnen, wobei man dann gleich entscheiden kann, ob darin PowerShell Core, Windows PowerShell oder cmd.exe laufen soll. Die Konfiguration für die Tabs, also welche Shell darin starten und wie das Fenster aussehen soll, legt man über so genannte Profile fest.

    Anpassung durch Editieren einer JSON-Datei

    Diese definiert man in einer Konfigurations­datei, die sich öffnet, sobald man den Befehl Settings ausführt. Sie liegt im JSON-Format vor und bietet zahlreiche Parameter zur Anpassung eines Terminals. Die aktuell unterstützten Einstellungen sind auf Github dokumentiert. Die Konfiguration der Konsole über eine GUI ist derzeit nicht vorgesehen.

    Aufbau der JSON-Konfigurationsdatei für Windows Terminal

    Ändert man Einstellungen für ein Profil, zum Beispiel die Schriftgröße oder die Hinter­grundfarbe, dann übernimmt das Terminal die Änderungen sofort, so dass dafür kein Neustart erforderlich ist.

    Integration eigener Programme in Windows Terminal, hier FTP

    Über eigene Profile lassen sich beliebige andere Textmodus-Programme integrieren, etwa das in Windows enthaltene FTP oder Telnet. Dazu kopiert man am einfachsten in der JSON-Datei einen der vorhandenen Abschnitte und passt ihn entsprechend an. Notwendig ist unter anderem eine eigene GUID für jedes Profil, die man aber einfach über PowerShell erzeugen kann.

    Ausführen als Administrator

    Ein gängiges Anliegen bei den diversen Shells und Kommandozeilen-Tools besteht darin, dass man sie als Administrator startet. Hier wirkt sich die Entscheidung von Microsoft, das Windows Terminal als Store App zu implementieren, ungünstig aus.

    Windows Terminal als Administrator ausführen

    Mein Versuch, das Windows Terminal als Standard­benutzer unter einem privilegierten Konto zu starten, führte zu einer Fehlermeldung, weil die App für diesen administrativen User noch nicht installiert war.

    Windows Terminal muss für jeden User separat installiert werden, sonst klappt auch ein runas nicht.

    Erst nachdem ich das nachholte, konnte ich das Terminal in diesem privilegierten Kontext starten. Anschließend öffnet es in jedem neuen Tab die betreffende Shell als Administrator.

    Der alternative Ansatz, eine PowerShell oder cmd.exe mit erhöhten Rechten mittels runas bzw. mit Start-Process -NoNewWindow aus einer bestehenden Sitzung zu starten, öffnete grundsätzlich ein externes Fenster in einer herkömmlichen Konsole.

    Fazit

    Inwieweit es sich bei den genannten Schwächen um Kinder­krankheiten einer frühen Preview handelt, wird sich zeigen. Die Zahl der Einstellungen ist jetzt schon größer als bei der herkömmlichen Konsole, so dass sich viele Aspekte von Windows Terminal anpassen lassen (wenn auch durch Editieren einer JSON-Datei).

    Microsofts Ansatz, neue Produkte schon sehr früh für Anwender zugänglich zu machen, führt auch dazu, dass diese anfangs kaum einen Nutzwert haben. Aktuell gibt es daher noch wenige Gründe, das Tool einzusetzen.

    Keine Kommentare