Opción "tty" detectada en la variable de entorno CYGWIN

12

Recientemente reinstalé cygwin en mi máquina con Windows 7, y agregué el directorio cygwin a mi ruta para que funcione a la perfección con la línea de comandos de Windows. Cada vez que ejecuto un comando, obtengo lo siguiente sobre el resultado real:

"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.

¿Cómo puedo deshacerme de esto para poder usar cygwin en mi línea de comando sin el molesto encabezado?

ewok
fuente
¿Has intentado seguir los consejos de la advertencia?
ak2
¿Cómo "lo elimino de mi variable de entorno CYGWIN"? Preferiría no usar un emulador, ya que me gusta la facilidad de usar los comandos cygwin en la línea de comandos de Windows.
ewok
1
Debe tener la variable de entorno CYGWIN establecida en algún lugar, por ejemplo, en un script que esté utilizando para iniciar su símbolo del sistema o en el entorno global de Windows. Puede encontrar este último en el Panel de control, en Sistema-> Avanzado-> Variables de entorno. (Al menos ahí es donde están en XP; podrían haberse mudado en 7.)
ak2
Lo encontré. Fue en las variables de entorno. publicar como respuesta para que pueda aceptar
ewok

Respuestas:

18

Tuve el mismo problema, pero no había ninguna configuración para la CYGWINvariable de entorno en ningún script o en las propiedades de la computadora (Panel de control).

Luego descubrí que el sshdservicio tenía una configuración para la CYGWINvariable de entorno en el registro de Windows bajo la siguiente clave:

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

Al eliminar la ttyopción en la @CYGWINcadena, la advertencia de desaprobación ya no aparece al ejecutar comandos.

VirtualStaticVoid
fuente
Sí, esto funcionó para mí, y ak2'a respuesta no. ¿Cómo te topaste con eso?
barlop
¡Gracias, también funcionó para mí! Me hubiera nunca se descubrió que, supongo ... Gracias!
MarcoS
1
Mi sshdsección no tenía esto, pero encontré la mía en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. Al buscar en el registro se ttyobtienen muchos falsos positivos; buscar binmodees mucho más efectivo.
Royce Williams
¿Cómo eliminó la opción tty de @CYGWIN?
ingh.am
3

Debe tener la variable de entorno CYGWIN establecida en algún lugar, por ejemplo, en un script que esté utilizando para iniciar su símbolo del sistema o en el entorno global de Windows. Puede encontrar este último en el Panel de control, en Sistema-> Avanzado-> Variables de entorno. (Al menos ahí es donde están en XP; podrían haberse movido en 7.)

ak2
fuente
La CYGWINvariable para sshdno está establecida allí.
reinierpost
1

+1 para VirtualStaticVoid

Puedes ver la configuración aquí:

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

Pero es de solo lectura. Aquí se explica cómo solucionarlo con solo acceso ssh:

Crear 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

Importarlo al registro:

$ regedit.exe -s sshd-env.reg

Verifique que tomó:

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

De alguna manera reiniciar sshd.

Parece que cygrunsrv no tiene una opción --restart. Vergüenza. Sin crontab instalado, que no es el predeterminado, podría ser más fácil reiniciar la máquina. Es windows, después de todo.

$ shutdown -r -t 0
Dan Garthwaite
fuente
Gran respuesta, poder hacerlo todo usando la línea de comando
Ludovic Kuty