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.
Paebbels
quelle
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