Opção "tty" detectada na variável de ambiente CYGWIN

12

Recentemente, reinstalei o cygwin na minha máquina com Windows 7 e adicionei o diretório cygwin ao meu caminho para que funcione perfeitamente com a linha de comando do Windows. Toda vez que executo um comando, obtenho o seguinte acima da saída 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.

Como posso me livrar disso para poder usar o cygwin na minha linha de comando sem o cabeçalho irritante?

ewok
fonte
Você já tentou seguir os conselhos do aviso?
ak2 23/02/12
como faço para "removê-lo da minha variável de ambiente CYGWIN"? Prefiro não usar um emulador, pois gosto da simplicidade de usar os comandos cygwin na linha de comando do Windows.
ewok
1
Você deve ter a variável de ambiente CYGWIN definida em algum lugar, por exemplo, em um script usado para iniciar o prompt de comando ou no ambiente global do Windows. Você pode encontrar este último no Painel de Controle, em Sistema-> Avançado-> Variáveis ​​de Ambiente. (Pelo menos é o que eles estão no XP, pois eles podem ter movido em 7.)
AK2
encontrei. Estava nas variáveis ​​de ambiente. postar como uma resposta para que eu possa aceitar
ewok

Respostas:

18

Eu tive o mesmo problema, mas não havia configuração para a CYGWINvariável de ambiente em nenhum script ou nas propriedades do computador (Painel de Controle).

Descobri que o sshdserviço tinha uma configuração para a CYGWINvariável de ambiente no registro do Windows sob a seguinte chave:

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

Ao remover a ttyopção na @CYGWINcadeia, o aviso de descontinuação não aparece mais ao executar comandos.

VirtualStaticVoid
fonte
Sim, isso funcionou para mim, e ak2'a resposta não. Como você se deparou com isso?
28512 barlop
Obrigado, funcionou para mim também! Eu nunca teria descoberto isso, suponho ... Obrigado!
Marcos
1
Minha sshdseção não tinha isso, mas encontrei a minha HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. A pesquisa no registro ttyobtém muitos falsos positivos; procurar binmodeé muito mais eficaz.
Royce Williams
Como você removeu a opção tty do @CYGWIN?
precisa saber é o seguinte
3

Você deve ter a variável de ambiente CYGWIN definida em algum lugar, por exemplo, em um script que você está usando para iniciar seu prompt de comando ou no ambiente global do Windows. Você pode encontrar este último no Painel de Controle, em Sistema-> Avançado-> Variáveis ​​de Ambiente. (Pelo menos é onde eles estão no XP; eles podem ter se mudado no 7.)

ak2
fonte
A CYGWINvariável para sshdnão está definida lá.
Reinierpost
1

+1 para VirtualStaticVoid

Você pode ver a configuração aqui:

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

Mas é somente leitura. Aqui está como corrigi-lo apenas com acesso ssh:

Criar 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

Importe-o para o registro:

$ regedit.exe -s sshd-env.reg

Verifique se foi necessário:

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

De alguma forma, reinicie o sshd.

Parece que cygrunsrv não tem uma opção --restart. Vergonha. Sem o crontab instalado, o que não é por padrão, pode ser mais fácil reiniciar a máquina. São janelas, afinal.

$ shutdown -r -t 0
Dan Garthwaite
fonte
Grande resposta, ser capaz de fazer tudo isso usando a linha de comando
Ludovic Kuty