Warum ist meine PowerShell ein Cygwin-Terminal?


0

In letzter Zeit habe ich festgestellt, dass colorama * nicht wie vorgesehen funktioniert. ANSI-Escape-Sequenzen werden nicht in WinAPI-Aufrufe konvertiert, um die Textfarben der PoSh-Konsole zu ändern. Mir ist aufgefallen, dass es in einer alten cmd-Konsole korrekt funktioniert, aber nicht in PowerShell.

Ich habe auch bemerkt , dass colorama wie vorgesehen funktioniert , wenn ich die init - Funktion mit dem convert Parameter aufrufen: colorama.init(convert=True). Normalerweise erkennt colorama Windows-Konsolen automatisch.

Dazu testet Colorama eine Umgebungsvariable mit dem Namen TERM. Meine PowerShell kehrt zurück cygwin!

Wie finde ich die Cygwin-Installation, mit der diese Variable festgelegt wird?

Anmerkungen:

  • TERM ist nicht in cmd Konsolen eingestellt
  • Ich habe nie ein eigenständiges Cygwin installiert, aber viele meiner installierten Tools bringen ihre eigenen Cygwin-Ordner / -Installationen mit (> 6).
  • Das Deinstallieren dieser Tools ist keine Option

In einem aktuellen Workound lösche ich in jeder PS-Sitzung env: TERM.


  • colorama ist ein Konsolen-Wrapper, der in / für Python geschrieben wurde, um farbige Textausgaben unter Linux und Windows zu ermöglichen.

Wird TERM in den Umgebungsvariablenlisten der Windows-Benutzeroberfläche angezeigt? In diesem Fall ist es am wahrscheinlichsten, wenn Sie PS starten.
— ƬᴇcƬᴇιᴇ007

Nein, es befindet sich nicht im Fenster für Umgebungsvariablen. Andernfalls würde es auf Cmd- und PoSh-Sitzungen festgelegt. Es gibt auch keine andere Variable, die auf eine bestimmte Cygwin-Installation hindeutet.
— Paebbels

Ich durchsuche meine Registrierung, aber es ist kein TERModer ein cygwinWert deklariert. Es sollte also von einem Skript gesetzt werden.
— Paebbels
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.