Опция «tty» обнаружена в переменной окружения CYGWIN


12

Недавно я переустановил cygwin на моем компьютере с Windows 7 и добавил каталог 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"? Я бы предпочел не использовать эмулятор, так как мне нравится беспроблемность использования команд cygwin в командной строке Windows.
EWok

1
Вы должны где-то установить переменную среды CYGWIN, например, в сценарии, который вы используете для запуска командной строки, или в глобальной среде Windows. Вы можете найти последний в Панели управления, в System-> Advanced-> Environment Variables. (По крайней мере, там они и есть в XP; они могли бы переместиться в 7.)
ak2

нашел это. Это было в переменных среды. пост в качестве ответа, чтобы я мог принять
ewok

Ответы:


18

У меня была та же проблема, но не было настройки для CYGWINпеременной среды ни в одном скрипте, ни в свойствах компьютера (Панель управления).

Затем я обнаружил, что sshdслужба имеет параметр для CYGWINпеременной среды в реестре Windows под следующим ключом:

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

При удалении ttyопции в @CYGWINстроке предупреждение об устаревании больше не появляется при выполнении команд.


Да, у меня это сработало, а ответ ak2'a - нет. Как вы столкнулись с этим?
Бароп

Спасибо, у меня это тоже сработало! Я бы никогда не открыл это, я полагаю ... Спасибо!
MarcoS

1
В моем sshdразделе этого не было, но я нашел свой в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. Поиск в реестре ttyдает много ложных срабатываний; поиск binmodeгораздо эффективнее.
Ройс Уильямс

Как вы удалили опцию tty из @CYGWIN?
ingh.am

3

Вы должны где-то установить переменную среды CYGWIN, например, в сценарии, который вы используете для запуска командной строки, или в глобальной среде Windows. Вы можете найти последний в Панели управления, в System-> Advanced-> Environment Variables. (По крайней мере, там они и есть в XP; возможно, они переместились в 7.)


CYGWINПеременная sshdне установлена там.
reinierpost

1

+1 для VirtualStaticVoid

Вы можете увидеть настройки здесь:

$ 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

Отличный ответ, возможность сделать все это с помощью командной строки
Людовик Куты
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.