Option «tty» détectée dans la variable d'environnement CYGWIN

12

J'ai récemment réinstallé cygwin sur ma machine Windows 7 et ajouté le répertoire cygwin à mon chemin afin qu'il fonctionne parfaitement avec la ligne de commande Windows. Chaque fois que j'exécute une commande, j'obtiens ce qui suit au-dessus de la sortie réelle:

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

Comment puis-je m'en débarrasser pour pouvoir utiliser cygwin dans ma ligne de commande sans l'en-tête ennuyeux?

ewok
la source
Avez-vous essayé de suivre les conseils de l'avertissement?
ak2
comment "le supprimer de ma variable d'environnement CYGWIN"? Je préfère ne pas utiliser d'émulateur, car j'aime la fluidité de l'utilisation des commandes cygwin dans la ligne de commande Windows.
ewok
1
Vous devez avoir la variable d'environnement CYGWIN définie quelque part, par exemple dans un script que vous utilisez pour démarrer votre invite de commande ou dans l'environnement global Windows. Vous pouvez trouver ce dernier dans le Panneau de configuration, sous Système-> Avancé-> Variables d'environnement. (
Du
je l'ai trouvé. C'était dans les variables d'environnement. poster comme réponse pour que je puisse accepter
ewok

Réponses:

18

J'ai eu le même problème, mais il n'y avait aucun paramètre pour la CYGWINvariable d'environnement dans aucun script ou dans les propriétés de l'ordinateur (Panneau de configuration).

J'ai ensuite découvert que le sshdservice avait un paramètre pour la CYGWINvariable d'environnement dans le registre Windows sous la clé suivante:

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

En supprimant l' ttyoption dans la @CYGWINchaîne, l'avertissement de dépréciation n'apparaît plus lors de l'exécution des commandes.

VirtualStaticVoid
la source
Oui, cela a fonctionné pour moi, et la réponse ak2'a n'a pas fonctionné. Comment avez-vous rencontré cela?
barlop
Merci, ça a marché pour moi aussi! Je ne l'aurais jamais découvert, je suppose ... Merci!
MarcoS
1
Ma sshdsection n'en avait pas, mais j'ai trouvé la mienne HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. La recherche dans le registre ttygénère de nombreux faux positifs; la recherche binmodeest beaucoup plus efficace.
Royce Williams
Comment avez-vous supprimé l'option tty de @CYGWIN?
ingh.am
3

Vous devez avoir la variable d'environnement CYGWIN définie quelque part, par exemple dans un script que vous utilisez pour démarrer votre invite de commande ou dans l'environnement global Windows. Vous pouvez trouver ce dernier dans le Panneau de configuration, sous Système-> Avancé-> Variables d'environnement. (Au moins, c'est là qu'ils sont sous XP; ils auraient pu se déplacer en 7.)

ak2
la source
La CYGWINvariable pour sshdn'est pas définie ici.
reinierpost
1

+1 pour VirtualStaticVoid

Vous pouvez voir le réglage ici:

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

Mais c'est en lecture seule. Voici comment le corriger avec un accès ssh uniquement:

Créez 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

Importez-le dans le registre:

$ regedit.exe -s sshd-env.reg

Vérifiez qu'il a fallu:

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

Redémarrez en quelque sorte sshd.

Il semble que cygrunsrv n'ait pas d'option --restart. La honte. Sans crontab installé, ce qui n'est pas le cas par défaut, il pourrait être plus facile de redémarrer la machine. Ce sont des fenêtres, après tout.

$ shutdown -r -t 0
Dan Garthwaite
la source
Grande réponse, pouvoir tout faire en utilisant la ligne de commande
Ludovic Kuty