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.