2015-02-09 9 views
6

Background:Come impostare la variabile di ambiente TERM in Windows in modo che funzioni con Bash tramite SSH e localmente con Git?

Quando si utilizza la mia versione di Windows di git in PowerShell ho scoperto che ho ottenuto l'errore "terminale non è completamente funzionale", così ho usato la seconda soluzione postato here (vale a dire il cambiamento TERM a MSYS) per fissare il problema.

Tuttavia, questo ha causato un problema secondario che quando SSH nella mia casella Vagrant, le applicazioni da riga di comando come Vim, Nano e anche Clear non venivano eseguite, producendo errori "msys: tipo di terminale sconosciuto".

Ho quindi tentato di modificare TERM in "ansi" e ho ottenuto risultati migliori durante ssh, in quanto le app funzionavano correttamente, ma ci sono ancora errori di formattazione.

Domanda:

C'è un'impostazione per TERM in variabili di ambiente Windows che funzionerà correttamente sia per la mia copia di Windows del Git e shell Bash Vagrant VM tramite SSH?

+0

Quale versione di git.exe stai usando? Ho visto l'errore che stai descrivendo in precedenza in PowerShell, ma non ho dovuto occuparmene per un po '. Sto eseguendo git versione 1.9.5.msysgit.0 (puoi vedere la tua versione eseguendo 'git --version'). –

risposta

1

La combinazione che funziona meglio per me è:

:: set proper TERM to not break `vagrant ssh` terminal, 
:: see https://github.com/tknerr/bills-kitchen/issues/64 
set TERM=cygwin 

:: trick vagrant to detect colored output for windows, see here: 
:: https://github.com/mitchellh/vagrant/blob/7ef6c5d9d7d4753a219d3ab35afae0d475430cae/lib/vagrant/util/platform.rb#L89 
set ANSICON=true 

:: mute the cygwin warning which otherwise comes on `vagrant ssh` 
set CYGWIN=nodosfilewarning 

(estratto dal set-env.bat file from bills-kitchen)

+0

Nota che lo utilizzo principalmente da una semplice shell cmd.exe con ConEmu. Non sono sicuro se queste sono le migliori impostazioni per PowerShell però. –