Problembehandlung in Windows Terminal
Dieser Leitfaden behandelt einige der häufigsten Fehler und Probleme, die bei der Verwendung von Windows Terminal auftreten können.
Beim Öffnen der Einstellungen passiert nichts (oder eine unerwartete Anwendung wird geöffnet)
Wenn Sie in der Dropdownliste auf die Schaltfläche „Einstellungen“ klicken, versucht das Terminal, die Einstellungsdatei (settings.json
) zu öffnen. Dies führt dazu, dass das Betriebssystem versucht, Ihren konfigurierten .json
-Datei-Editor zu starten. Dies kann z. B. Visual Studio, Editor oder eine andere völlig unerwartete Anwendung sein. Wenn auf Ihrem Computer kein konfigurierter .json
-Editor verfügbar ist, zeigt ihnen das Betriebssystem schließlich das Dialogfeld „Wie möchten Sie diese Datei öffnen“ an.
Tipp
Sie können auch die Benutzeroberfläche „Einstellungen“ zum Konfigurieren Ihrer Einstellungen verwenden. Auf der Seite Aktionen erfahren Sie, wie Sie die Einstellungsbenutzeroberfläche öffnen.
Legen Sie für Ihre WSL-Verteilung fest, dass sie in das Start ~
Verzeichnis startet, wenn sie in älteren Windows-Terminal-Versionen gestartet wird.
Standardmäßig ist das startingDirectory
eines Profils %USERPROFILE%
(C:\Users\<YourUsername>
). Dies ist ein Windows-Pfad. Bei WSL-Verteilungen, die eine neue Version von Windows-Terminal ausführen, können die Dateisysteme ~
eingeben, um diesen Startpfad festzulegen. In älteren Versionen von Windows-Terminal können Sie mit /home/<Your Ubuntu Username>
direkt auf Ihren Startordner verweisen. Die folgende Einstellung startet z. B. die „Ubuntu-20.04“-Distribution in ihrem Basisdateipfad:
{
"name": "Ubuntu-20.04",
"commandline" : "wsl -d Ubuntu-20.04",
"startingDirectory" : "/home/<Your Ubuntu Username>"
}
Wenn Sie eine sehr frühe Version von Windows Terminal verwenden, erfordert WSL möglicherweise die Verwendung des \\wsl$\
-Präfixes, wenn für die startingDirectory
Einstellung auf den Stammpfad einer Distribution verwiesen wird. Die folgende Einstellung startet z. B. die „Ubuntu-18.04“-Distribution in ihrem Basisdateipfad:
{
"name": "Ubuntu-18.04",
"commandline" : "wsl -d Ubuntu-18.04",
"startingDirectory" : "//wsl$/Ubuntu-18.04/home/<Your Ubuntu Username>"
}
Wichtig
Bei neueren Versionen von Windows, werden für startingDirectory
auch Pfade im Linux-Stil akzeptiert.
Festlegen des Registerkartentitels
Informationen zum automatischen Festlegen des Registerkartentitels durch die Shell finden Sie im Tutorial zum Festlegen des Registerkartentitels. Wenn Sie einen eigenen Registerkartentitel festlegen möchten, öffnen Sie die Datei settings.json und folgen Sie diesen Schritten:
Fügen Sie im Profil für die Befehlszeile Ihrer Wahl
"suppressApplicationTitle": true
hinzu, um alle Titeländerungsereignisse zu unterdrücken, die von der Shell gesendet werden. Wenn Sie nur diese Einstellung zu Ihrem Profil hinzufügen, wird der Registerkartentitel auf den Namen Ihres Profils festgelegt.Wenn Sie einen benutzerdefinierten Registerkartentitel wünschen, der nicht der Name Ihres Profils ist, fügen Sie
"tabTitle": "TITLE"
hinzu. Ersetzen Sie „TITLE“ durch Ihren bevorzugten Registerkartentitel.
Befehlszeilenargumente in PowerShell
Besuchen Sie die Seite Befehlszeilenargumente, um zu erfahren, wie Befehlszeilenargumente in PowerShell funktionieren.
Befehlszeilenargumente in WSL
Besuchen Sie die Seite Befehlszeilenargumente, um zu erfahren, wie Befehlszeilenargumente in WSL funktionieren.
Problemeinstellung startingDirectory
Wenn das startingDirectory
in Ihrem Profil ignoriert wird, überprüfen Sie zunächst, ob die Syntax Ihrer Datei settings.json fehlerfrei ist. "$schema": "https://aka.ms/terminal-profiles-schema"
wird automatisch eingefügt, um Sie bei der Überprüfung dieser Syntax zu unterstützen. Einige Anwendungen, z. B. Visual Studio Code, können dieses eingefügte Schema zur Überprüfung Ihrer JSON-Datei verwenden, während Sie Änderungen vornehmen.
Wenn Ihre Einstellungen richtig sind, führen Sie möglicherweise ein Startskript aus, das das Startverzeichnis Ihres Terminals separat festlegt. PowerShell verfügt z. B. über ein eigenes separates Profilkonzept. Wenn Sie dort Ihr Startverzeichnis ändern, hat es Vorrang vor der in Windows Terminal definierten Einstellung.
Wenn Sie alternativ ein Skript mit der Profileinstellung commandline
ausführen, kann es sein, dass Sie dort den Speicherort festlegen. Ähnlich wie bei PowerShell-Profilen haben Ihre Befehle dort Vorrang vor der startingDirectory
-Profileinstellung.
Der Zweck von startingDirectory
ist es, eine neue Windows Terminal-Instanz im angegebenen Verzeichnis zu starten. Wenn das Terminal irgendeinen Code ausführt, der sein Verzeichnis ändert, könnte es angebracht sein, hier einen Blick drauf zu werfen.
STRG+= erhöht nicht den Schriftgrad
Wenn Sie ein deutsches Tastaturlayout verwenden, kann dieses Problem auftreten. Strg+= wird zu Strg+Umschalt+0 deserialisiert, wenn Ihr Haupttastaturlayout auf „Deutsch“ festgelegt ist. Dies ist die ordnungsgemäße Zuordnung für deutsche Tastaturen.
Noch wichtiger ist, dass die App niemals den Tastenanschlag Strg+Umschalt+0 erhält. Dies liegt daran, dass Strg+Umschalt+0 von Windows reserviert ist, wenn mehrere Tastaturlayouts aktiv sind.
Wenn Sie dieses Feature deaktivieren möchten, damit Ctrl+=
richtig funktioniert, folgen Sie den Anweisungen für „Ändern der Abkürzungstasten zum Wechseln des Tastaturlayouts in Windows 10“ in diesem Blogbeitrag.
Ändern Sie die Option „Tastaturlayout wechseln“ in „Nicht zugewiesen“ (oder deaktivieren Sie Strg+Umschalt), und wählen Sie dann OK sowie Übernehmen aus. Strg+Umschalt+0 sollte jetzt als Tastenzuordnung funktionieren und wird an das Terminal weitergegeben.
Wenn Sie andererseits dieses Abkürzungstastenfeature für mehrere Eingabesprachen verwenden, können Sie eine eigene benutzerdefinierte Tastenzuordnung in Ihrer Datei settings.json konfigurieren.
Der Text ist verschwommen
Einige Anzeigetreiber und Hardwarekombinationen können Scrollbereiche und/oder geänderte Bereiche nicht verarbeiten, ohne dass die Daten aus dem vorhergehenden Einzelbild verschwimmen. Um dieses Problem zu entschärfen, können Sie eine Kombination dieser globalen Renderingeinstellungen hinzufügen, um die vom Terminaltextrenderer verursachte Auslastung Ihrer Hardware zu verringern.
Meine Farben sehen ungewöhnlich aus! Auf meinem Bildschirm sind schwarze Balken zu sehen!
Wichtig
Dies gilt nur für Version 1.2+ von Windows-Terminal. Wenn Farbprobleme in Windows-Terminal 1.0 oder 1.1 auftreten oder Probleme angezeigt werden, die hier nicht erfasst sind, sollten Sie den Fehler melden.
Windows-Terminal 1.2 und höher verfügt über ein verbessertes Verständnis für bestimmte Anwendungsfarbeinstellungen. Aufgrund dieses verbesserten Verständnisses konnten wir eine Reihe von Kompatibilitätsblöcken entfernen, durch die die Benutzererfahrung zuvor negativ beeinflusst wurde. Leider gibt es ein paar Anwendungen, bei denen Probleme auftreten können.
Wir halten diesen Leitfaden mit der Liste der bekannten Probleme und den dazugehörigen Umgehungen stets auf dem neuesten Stand.
Schwarze Linien in PowerShell (5.1, 6.x, 7.0)
Es kann sein, dass sich schwarze Linien über den Bildschirm ziehen, wenn das Terminal mit der PowerShell-Bibliothek für die Zeilenbearbeitung (PSReadline) gekoppelt ist. Diese verfärbten Bereiche tauchen auch außerhalb Ihrer Eingabeaufforderung auf, überall dort, wo sich Befehlsparameter, Zeichenfolgen und Operatoren befinden.
Die bereits veröffentlichte PSReadline-Version 2.0.3 enthält eine Lösung für dieses Problem. Bitte beachten Sie, dass diese Lösung in der Vorabversion von PSReadline noch nicht verfügbar ist.
Führen Sie den folgenden Befehl aus, um ein Update auf die neueste Version von PSReadline auszuführen:
Update-Module PSReadline
Warum werden meine Emojis nicht als Symbole in der Sprungliste angezeigt?
Nur Bilder, die über einen Dateispeicherort verknüpft sind, können als Profilsymbole in der Sprungliste gerendert werden. Emojis werden als Sprunglistensymbole nicht unterstützt.
Technische Hinweise
Bei Anwendungen, die die GetConsoleScreenBufferInfo
-API-Familie verwenden, um die aktiven Konsolenfarben im Win32-Format abzurufen, und die dann versuchen, sie in plattformübergreifende VT-Sequenzen zu transformieren (z. B. durch die Transformation von BACKGROUND_RED
in \x1b[41m
), ist es möglich, dass das Terminal nicht erkennt, welche Hintergrundfarbe die Anwendung verwenden soll.
Anwendungsentwicklern wird deshalb empfohlen, entweder Windows API-Funktionen oder VT-Sequenzen zum Anpassen von Farben zu wählen und nicht zu versuchen, diese zu mischen.
Tastaturdienstwarnung
Ab Windows-Terminal 1.5 zeigt das Terminal eine Warnung an, wenn der „Dienst für Bildschirmtastatur und Schreibbereich“ deaktiviert ist. Dieser Dienst wird vom Betriebssystem benötigt, um Eingabeereignisse ordnungsgemäß an die Terminalanwendung (sowie an viele andere Anwendungen in Windows) weiterzuleiten. Wenn diese Warnung angezeigt wird, können Sie die folgenden Schritte ausführen, um den Dienst erneut zu aktivieren:
Führen Sie im Ausführungsdialog
services.msc
aus.Suchen Sie den „Dienst für Bildschirmtastatur und Schreibbereich“.
Öffnen Sie die „Eigenschaften“ dieses Diensts.
Ändern Sie den „Starttyp“ in „Automatisch“.
Klicken Sie auf „OK“ und starten Sie den PC dann neu.
Nach dem Neustart des Computers sollte der Dienst automatisch gestartet und das Dialogfeld nicht mehr angezeigt werden.
Warum sehe ich ein Blinken, wenn ich eine Git Bash-Befehlszeile verwende?
Möglicherweise bemerken Sie ein Blinken, wenn Sie eine Git Bash-Befehlszeile in einem Windows-Terminal verwenden. Dies ist tatsächlich so vorgesehen. Das Terminal befolgt lediglich die Anweisungen von Git Bash (d. h. dass der Glockenstil auf „sichtbar“ festgelegt wird, wodurch die Glockenantwort mit einem Blinken gekoppelt wird). Wir verstehen jedoch, dass dies störend sein kann. Um dieses Problem zu beheben, öffnen Sie die Datei .inputrc
Ihrer Git Bash mit einem Text-Editor. Diese Datei befindet sich wahrscheinlich unter dem Pfad C:\Program Files\Git\etc
. So öffnen Sie sie mit dem Nano-Text-Editor: nano ~/.inputrc
Ändern Sie den Standardwert:
# none, visible or audible
set bell-style visible
Legen Sie den Glockenstil auf none
oder audible
fest, um das sichtbare Blinken zu umgehen:
set bell-style none
Drücken Sie STRG+O und STRG+X, um die Einstellung zu speichern und den Editor zu verlassen.
Wie kann ich meine Einstellungen in Windows-Terminal wieder auf die Standardeinstellungen zurücksetzen?
Um Ihre Einstellungen wieder auf die ursprünglichen Standardeinstellungen zurückzusetzen, müssen Sie Ihre Datei settings.json löschen. Dies führt dazu, dass Windows-Terminal eine neue settings.json-Datei mit den ursprünglichen Standardeinstellungen generiert.
Wichtig
Ab Windows-Terminal Version 1.10 oder höher müssen Sie auch die Datei state.json
im selben Verzeichnis wie die Datei settings.json
löschen, um die Einstellungen vollständig auf die Standardwerte zurückzusetzen.
Warum macht Acryldeckkraft meinen Windows-Terminal Hintergrund nicht transparent?
Sie können die Transparenz eines Terminalfensters mit der useAcrylic
Eigenschaft einstellen. Es gibt einige Gründe, warum Ihre Deckkrafteinstellung möglicherweise nicht für Acryl funktioniert, einschließlich:
- Acryl ist als systemweite Richtlinie nur für das Vordergrundfenster aktiviert. Wenn Sie also irgendein anderes Fenster als das Terminal aktivieren, wird das Acryl des Terminals deaktiviert.
- Acryl funktioniert nicht, wenn Ihre GPU-Hardware es nicht unterstützt. Wenn Sie eine App auf einer virtuellen Maschine (VM) oder über Remotedesktop ausführen, wird Acryl wahrscheinlich nicht funktionieren.
- Acryl kann aus mehreren Gründen durch das Betriebssystem deaktiviert werden, z. B. wenn es sich im Stromsparmodus (niedrige Akkukapazität) befindet oder beim Zugriff auf einen Computer mittels Remotedesktop.
Warum verschwindet mein Mauszeiger beim Eingeben, wenn er währenddessen auf ein Fenster zeigt?
Dieses automatisch ausblendende Verhalten des Cursors ist gewollt, kann jedoch deaktiviert werden, indem Sie nach "Mauseinstellungen“ > "Zusätzliche Maus-Einstellungen" > "Mauseigenschaften" > "Zeigeroptionen" > suchen. Deaktivieren Sie "Zeiger beim Eingeben ausblenden". Möglicherweise müssen Sie Ihr Windows-Terminal neu starten, damit diese Änderung wirksam wird.
Windows Terminal