Eu instalei o CygWin v1.7.28.
O problema foi rapidamente explicado : Basicamente, ao iniciar um shell CygWin via login remoto, o $ HOME não é onde deveria, com todas as conseqüências derivadas (ruins) de isto. Consoles locais executa OK.
E agora para os detalhes :
Se na GUI (Windows XP) eu faço:
c:\CygWin\bin\bash.exe --login -i
ou (da mesma forma, praticamente):
c:\CygWin\Cygwin.bat
Eu começo no $ HOME correto com todos os meus arquivos de configuração:
LuisRivas@portatilacer ~
$ pwd
/home/LuisRivas
LuisRivas@portatilacer ~
$ ls .* -la
-rw------- 1 LuisRivas Ninguno 108 mar 3 14:34 .bash_history
-rwxr-xr-x 1 LuisRivas Ninguno 1494 mar 3 03:00 .bash_profile
-rwxr-xr-x 1 LuisRivas Ninguno 6127 mar 3 14:28 .bashrc
-rwxr-xr-x 1 LuisRivas Ninguno 1919 mar 3 03:00 .inputrc
-rwxr-xr-x 1 LuisRivas Ninguno 1236 mar 3 03:00 .profile
$ echo $HOME
/home/LuisRivas
Mas se eu fizer login via SSH ( Servidor Bitvise SSH v6 instalado no Windows XP SP3) e eu repetir o processo (mesmo usuário ):
c:\CygWin\bin\bash.exe --login -i
Agora, o Bash Shell não começa onde deveria:
LuisRivas@portatilacer ~
$ echo $HOME
/cygdrive/c/Documents and Settings/LuisRivas
LuisRivas@portatilacer ~
$ pwd
/cygdrive/c/Documents and Settings/LuisRivas
LuisRivas@portatilacer ~
$ ls .* -la
-rw-------+ 1 LuisRivas Ninguno 197 mar 3 14:36 .bash_history
.:
total 1211
drwxrwx---+ 1 Administradores SYSTEM 0 mar 3 14:30 .
drwxrwxr-x+ 1 Administradores SYSTEM 0 mar 1 04:06 ..
-rw-------+ 1 LuisRivas Ninguno 197 mar 3 14:36 .bash_history
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Configuración local
drwx------+ 1 LuisRivas Ninguno 0 dic 25 15:41 Cookies
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:17 Datos de programa
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Entorno de red
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Escritorio
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Favoritos
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:02 IETldCache
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Impresoras
drwx------+ 1 LuisRivas Ninguno 0 dic 25 13:56 Menú Inicio
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Mis documentos
-rwx------+ 1 LuisRivas Ninguno 786432 mar 3 14:17 NTUSER.DAT
-rwx------+ 1 LuisRivas Ninguno 1024 mar 3 14:34 NTUSER.DAT.LOG
-rwxrwx---+ 1 Administradores SYSTEM 192 mar 3 14:03 ntuser.ini
drwx------+ 1 LuisRivas Ninguno 0 dic 25 15:33 Plantillas
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 Reciente
drwx------+ 1 LuisRivas Ninguno 0 mar 3 14:12 SendTo
Ou seja: CygWin iniciou o shell no meu diretório pessoal do Windows, portanto não tenho minhas personalizações ( .bashrc , .bash_profile ... etc), como aliases.
Talvez esse comportamento estranho seja causado apenas por algum tipo de variável de ambiente ausente (que existe na GUI, mas não no console remoto), mas eu não consegui localizá-lo.
Como eu poderia fazer para que meu console remoto iniciasse o Bash Shell incluído no CygWin onde deveria?
- EDIT: aqui alguns dados extras sob solicitação:
Na Bash Shell local:
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
Na Bash Shell remota (nada é diferente):
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
E este é o conteúdo de / etc / passwd (mostrada apenas a linha do usuário "LuisRivas"):
LuisRivas@portatilacer ~
$ cat /etc/passwd
[Lines not needed (I think)]
LuisRivas:unused:1004:513:U-PORTATILACER\LuisRivas,S-1-5-21-789336058-1957994488-1417001333-1004:/home/LuisRivas:/bin/bash
[Lines not needed (I think)]
-
EDIT 2: Numa primeira escrita eu estava errado: o arquivo .bashrc no caminho inicial (onde quer que este caminho seja) é lido OK por CygWin ao iniciar seu shell. Essa informação é apagada agora.
-
EDIT 3: Meus testes foram feitos apenas em logins remotos do SSH, não no Telnet. Então veio o problema: precisamente de algum comportamento do Bitvise SSH Server (leia a resposta abaixo).