CYGWIN 환경 변수에서 "tty"옵션 감지


12

최근에 Windows 7 시스템에 cygwin을 다시 설치하고 cygwin 디렉토리를 경로에 추가하여 Windows 명령 행과 완벽하게 작동합니다. 명령을 실행할 때마다 실제 출력보다 다음과 같은 결과가 나타납니다.

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

성가신 헤더없이 명령 줄에서 cygwin을 사용할 수 있도록 어떻게 이것을 제거 할 수 있습니까?


경고의 조언을 따르려고 했습니까?
— ak2

"CYGWIN 환경 변수에서 제거"하는 방법은 무엇입니까? windows 명령 줄에서 cygwin 명령을 완벽하게 사용하는 것이 좋기 때문에 오히려 에뮬레이터를 사용하지 않을 것입니다.
— ewok February

1
CYGWIN 환경 변수를 어딘가에 설정해야합니다 (예 : 명령 프롬프트를 시작하는 데 사용하는 스크립트 또는 글로벌 Windows 환경). 제어판의 시스템-> 고급-> 환경 변수에서 후자를 찾을 수 있습니다. (적어도 이곳은 XP에 있습니다; 그들은 7에 옮겼을 것입니다.)
— ak2

그것을 발견. 환경 변수에있었습니다. 답변을 게시하여 수락 할 수 있음
— ewok

답변:


18

나는 같은 문제가 있었지만 CYGWIN스크립트 나 컴퓨터 속성 (제어판)에서 환경 변수에 대한 설정이 없었습니다 .

그런 다음 sshd서비스가 CYGWINWindows 레지스트리의 다음 키 아래 환경 변수에 대한 설정을 가지고 있음을 발견했습니다 .

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

문자열 에서 tty옵션 을 제거하면 @CYGWIN더 이상 사용 중단 경고가 표시되지 않습니다.


예, 이것은 저에게 효과적이며 ak2'a 답변은 그렇지 않습니다. 당신은 어떻게 그것에 빠져 들었습니까?
— barlop

고마워, 나도 일했다! 나는 그것을 결코 발견 하지 못했을 것이다 .
— MarcoS

1
내 sshd섹션에는이 기능이 없었지만에서을 찾았습니다 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. 레지스트리를 검색하면 tty많은 오 탐지가 발생합니다. 검색하는 binmode것이 훨씬 더 효과적입니다.
— Royce Williams

@CYGWIN에서 tty 옵션을 어떻게 제거 했습니까?
— ingh.am 2016 년

3

CYGWIN 환경 변수를 어딘가에 설정해야합니다 (예 : 명령 프롬프트를 시작하는 데 사용하는 스크립트 또는 글로벌 Windows 환경). 제어판의 시스템-> 고급-> 환경 변수에서 후자를 찾을 수 있습니다. (적어도 이곳은 XP에 있고 7에 옮겨 졌을 수도 있습니다.)


에 대한 CYGWIN변수 sshd가 설정되어 있지 않습니다.
— reinierpost

1

VirtualStaticVoid의 경우 +1

여기에서 설정을 볼 수 있습니다.

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

그러나 읽기 전용입니다. ssh 액세스로만 수정하는 방법은 다음과 같습니다.

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

레지스트리로 가져 오십시오.

$ regedit.exe -s sshd-env.reg

필요한지 확인하십시오.

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

어떻게 든 sshd를 다시 시작하십시오.

cygrunsrv에 --restart 옵션이없는 것 같습니다. 부끄러움. crontab이 설치되어 있지 않은 경우 (기본적으로는 아님) 컴퓨터를 재부팅하는 것이 가장 쉬울 수 있습니다. 결국 창문입니다.

$ shutdown -r -t 0

훌륭한 답변, 명령 줄을 사용하여 모든 작업을 수행 할 수 있음
— Ludovic Kuty
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.