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 в моей командной строке без раздражающего заголовка?

3 ответа3

18

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

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

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

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

3

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .