Параметр "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. Ви можете знайти їх на панелі керування в розділі Система-> Додатково-> Змінні середовища. (Принаймні, там вони знаходяться в 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. Ви можете знайти їх на панелі керування в розділі Система-> Додатково-> Змінні середовища. (Принаймні, там вони знаходяться в 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.