Option "tty" in der Umgebungsvariablen CYGWIN erkannt

12

Ich habe cygwin kürzlich auf meinem Windows 7-Computer neu installiert und das Verzeichnis cygwin zu meinem Pfad hinzugefügt, damit es nahtlos mit der Windows-Befehlszeile zusammenarbeitet. Jedes Mal, wenn ich einen Befehl ausführe, wird über der tatsächlichen Ausgabe Folgendes angezeigt:

"tty" option detected in CYGWIN environment variable.
CYGWIN=tty is no longer supported.  Please remove it from your
CYGWIN environment variable and use a terminal emulator like mintty,
xterm, or rxvt.

Wie kann ich das loswerden, damit ich Cygwin in meiner Befehlszeile ohne den nervigen Header verwenden kann?

ewok
quelle
Haben Sie versucht, den Ratschlägen in der Warnung zu folgen?
Ak2
Wie entferne ich es aus meiner CYGWIN-Umgebungsvariablen? Ich würde lieber keinen Emulator verwenden, da mir die nahtlose Verwendung der Cygwin-Befehle in der Windows-Befehlszeile gefällt.
Ewok
1
Sie müssen die Umgebungsvariable CYGWIN irgendwo festgelegt haben, z. B. in einem Skript, mit dem Sie Ihre Eingabeaufforderung starten, oder in der globalen Windows-Umgebung. Letzteres finden Sie in der Systemsteuerung unter System-> Erweitert-> Umgebungsvariablen. (Zumindest sind sie dort in XP; sie könnten in 7 umgezogen sein.)
ak2
fand es. Es war in den Umgebungsvariablen. Post als Antwort, damit ich akzeptieren kann
ewok

Antworten:

18

Ich hatte das gleiche Problem, aber es gab keine Einstellung für die CYGWINUmgebungsvariable in einem Skript oder in den Computereigenschaften (Systemsteuerung).

Ich stellte dann fest, dass der sshdDienst eine Einstellung für die CYGWINUmgebungsvariable in der Windows-Registrierung unter dem folgenden Schlüssel hatte:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\sshd\Parameters\Environment

Durch Entfernen der ttyOption in der @CYGWINZeichenfolge wird beim Ausführen von Befehlen die Verfallswarnung nicht mehr angezeigt.

VirtualStaticVoid
quelle
Ja, das hat bei mir funktioniert, und eine Antwort hat es nicht getan. Wie bist du darauf gestoßen?
Barlop
Danke, es hat auch bei mir funktioniert! Ich hätte es wohl nie entdeckt ... Danke!
MarcoS
1
Meine sshdAbteilung hatte dies nicht, aber ich fand meine in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. Beim Durchsuchen der Registrierung werden ttyviele Fehlalarme angezeigt. Suchen binmodeist viel effektiver.
Royce Williams
Wie haben Sie die Option tty aus @CYGWIN entfernt?
Ingh.am
3

Sie müssen die Umgebungsvariable CYGWIN irgendwo festgelegt haben, z. B. in einem Skript, mit dem Sie Ihre Eingabeaufforderung starten, oder in der globalen Windows-Umgebung. Letzteres finden Sie in der Systemsteuerung unter System-> Erweitert-> Umgebungsvariablen. (Zumindest sind sie dort in XP; sie sind möglicherweise in 7 umgezogen.)

ak2
quelle
Die CYGWINVariable für sshdist dort nicht gesetzt.
Reinierpost
1

+1 für VirtualStaticVoid

Sie können die Einstellung hier sehen:

$ cat /proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/sshd/Parameters/Environment/CYGWIN
tty ntsec

Aber es ist schreibgeschützt. So beheben Sie das Problem mit nur SSH-Zugriff:

Erstellen Sie sshd-env.reg

$ cat <<EOF >sshd-env.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sshd\Parameters\Environment]
"CYGWIN"="ntsec"
EOF

Importieren Sie es in die Registrierung:

$ regedit.exe -s sshd-env.reg

Überprüfen Sie, ob es gedauert hat:

$ cat /proc/registry/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/sshd/Parameters/Environment/CYGWIN
ntsec

Starten Sie sshd irgendwie neu.

Cygrunsrv hat anscheinend keine --restart-Option. Schande. Ohne installierte crontab, die nicht standardmäßig installiert ist, ist es möglicherweise am einfachsten, den Computer neu zu starten. Es sind schließlich Fenster.

$ shutdown -r -t 0
Dan Garthwaite
quelle
Tolle Antwort, alles über die Kommandozeile erledigen zu können
Ludovic Kuty