Estou usando o Bitvise SSH Server na minha máquina Windows para acesso remoto. O shell de login é ZSH, e eu estou usando o Oh My Zsh com ele. No entanto, eu também tentei BASH e tenho o mesmo problema. Portanto, eu acho que esse problema é com o Bitvise SSH Server, não com os shells do Cygwin ou com os emuladores de terminal do lado do cliente.
O problema pode ser percebido no prompt do meu ZSH. Enquanto a minha sessão SSH passar pelo Servidor SSH Bitvise, haverá alguns espaços extras no prompt. Por favor, veja as imagens:
EstewindowséoMinTTYnessamáquinaWindows.Quandoabro,vocêpodeverqueháapenasumespaçofinalapós~
(antesdedigitarssh127.0.0.1
).Noentanto,umavezqueeuSSH-ednamesmamáquina,existemdoisespaçosàdireitaapós~
noprompt.Alémdisso,seeufizeroutrasessãoSSH(paraamáquinatiger
)dentrodasessãoBitviseSSH,opromptdosegundotambémteráespaçosextras(promptssublinhadosemvermelho).Noentanto,seeusairdasessãodoBitviseedoSSHparatiger
,diretamente,opromptseránormal(promptssublinhadosemverde).
Euobserveiomesmoaoconectardealgumamáquinaremota(usandognome-terminal
ouxfce4-terminal
comoemuladordeterminal)aessamáquinaWindows.
Portanto,minhaconclusãoéqueoemuladordeterminalnãoéoculpadoporisso.OCygwineseuZSHtambémnãotêmculpa,porquetudoparecebem,desdequeeunãopassepeloBitvise.
MinhasuposiçãoédequeháalgumcaractereespecialdefinidonotemaOhMyZshquenãoéprocessadocorretamenteaopassarpeloBitvise.Noentanto,nãoconseguidescobriroqueéissoexatamente.OstemasdoOhMyZshficambemnolocal,semumaconexãoSSHBitvise,eficambememtodasasmáquinasLinuxquetenho.Portanto,achoquedeveriaseralgocomoBitvise.
Comosugeridonoscomentários,executeiset
emambososambienteseobtiveassaídasdespejadasemdoisarquivosdetexto:bitvise.txtelocal.txt.Agora,omaiorproblemaéquenãopossocompará-losusandodiff
porquediff
afirmaqueelessãoarquivosbinários(eelessãodiferentes).Nãotenhocertezaseissotemalgoavercomosespaçosestranhos.
ForçarLANG
ondiff
nãoajudou.
$diff-uNbitvise.txtlocal.txtBinaryfilesbitvise.txtandlocal.txtdiffer$LANG=en_US.UTF-8diff-uNbitvise.txtlocal.txtBinaryfilesbitvise.txtandlocal.txtdiffer$LANG=Cdiff-uNbitvise.txtlocal.txtBinaryfilesbitvise.txtandlocal.txtdiffer
Osdoisarquivossãoenviadosaqui: link
Testou algumas configurações diferentes de TERM
... Não pareceu fazer nada de bom. A configuração TERM=linux
resultou da mesma forma com xterm
.
Atualizadoem23/5/16
Oproblemaparecesermaisdifícildoqueeuesperava.Euencontreiumapasta"C: \ Arquivos de Programas \ Bitvise SSH Server \ TermInfo", que contém os arquivos de informação do terminal. Eu substituí os arquivos naquela pasta por arquivos semelhantes que copiei de uma máquina normal do Ubuntu, mas não ajudei. Eu também tentei a informação do termo "cygwin" que é instalada com o Cygwin, sem sorte ... Na verdade, o arquivo "cygwin" que vem com o Cygwin é o mesmo com o que vem com o Ubuntu ...
Eu não tenho ideia agora.
Quando faço SSH no servidor SSH Bitvise, posso fazer exec /bin/bash
para substituir a sessão atual pelo Bash. No entanto, nesse Bash, se eu SSH em alguma outra máquina Linux que usa Zsh e Oh My Zsh, o mesmo problema persiste.