Opzione "tty" rilevata nella variabile d'ambiente CYGWIN


12

Recentemente ho reinstallato Cygwin sul mio computer Windows 7 e ho aggiunto la directory Cygwin al mio percorso in modo che funzioni perfettamente con la riga di comando di Windows. Ogni volta che eseguo un comando, ottengo quanto segue sopra l'output effettivo:

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

Come posso liberarmi di questo in modo da poter usare Cygwin nella mia riga di comando senza la fastidiosa intestazione?


Hai provato a seguire i consigli nell'avvertimento?
ak2,

come posso "rimuoverlo dalla mia variabile d'ambiente CYGWIN"? Preferirei non usare un emulatore, poiché mi piace la fluidità di utilizzo dei comandi cygwin nella riga di comando di Windows.
Ewok,

1
È necessario avere la variabile d'ambiente CYGWIN impostata da qualche parte, ad esempio in uno script che si sta utilizzando per avviare il prompt dei comandi o nell'ambiente Windows globale. Puoi trovarlo nel Pannello di controllo, sotto Sistema-> Avanzate-> Variabili d'ambiente. (Almeno è lì che si trovano in XP; potrebbero essersi spostati in 7.)
ak2

trovato. Era nelle variabili d'ambiente. pubblica una risposta in modo che io possa accettare
ewok,

Risposte:


18

Ho avuto lo stesso problema, ma non c'erano impostazioni per la CYGWINvariabile d'ambiente in nessuno script o nelle proprietà del computer (Pannello di controllo).

Ho quindi scoperto che il sshdservizio aveva un'impostazione per la CYGWINvariabile di ambiente nel registro di Windows con la seguente chiave:

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

Rimuovendo l' ttyopzione nella @CYGWINstringa, l'avviso di deprecazione non appare più durante l'esecuzione dei comandi.


Sì, questo ha funzionato per me e ak2'a risposta no. Come ti sei imbattuto in quello?
barlop

Grazie, ha funzionato anche per me! Non l'avrei mai scoperto, suppongo ... Grazie!
Marco

1
La mia sshdsezione non aveva questo, ma ho trovato il mio HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. La ricerca nel registro ttyottiene molti falsi positivi; la ricerca binmodeè molto più efficace.
Royce Williams,

Come hai rimosso l'opzione tty da @CYGWIN?
ingh.am

3

È necessario avere la variabile d'ambiente CYGWIN impostata da qualche parte, ad esempio in uno script che si sta utilizzando per avviare il prompt dei comandi o nell'ambiente Windows globale. Puoi trovarlo nel Pannello di controllo, sotto Sistema-> Avanzate-> Variabili d'ambiente. (Almeno è lì che si trovano in XP; potrebbero essersi spostati in 7.)


La CYGWINvariabile per sshdnon è impostata lì.
reinierpost,

1

+1 per VirtualStaticVoid

Puoi vedere l'impostazione qui:

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

Ma è di sola lettura. Ecco come risolverlo con l'accesso solo ssh:

Crea 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

Importalo nel registro:

$ regedit.exe -s sshd-env.reg

Verifica che ci sia voluto:

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

In qualche modo riavviare sshd.

Sembra che cygrunsrv non abbia un'opzione --restart. Vergogna. Senza crontab installato, che non è di default, potrebbe essere più semplice riavviare il computer. È Windows, dopo tutto.

$ shutdown -r -t 0

Ottima risposta, essendo in grado di fare tutto usando la riga di comando
Ludovic Kuty l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.