Я установил CygWin v1.7.28.
Проблема быстро объяснилась: в основном, при запуске оболочки CygWin через удаленный вход в систему $ HOME находится не там, где должен, со всеми вытекающими (плохими) последствиями этого. Локальные приставки выполняет ОК.
А теперь подробности:
Если в GUI (Windows XP) я делаю:
c:\CygWin\bin\bash.exe --login -i
или (практически так же):
c:\CygWin\Cygwin.bat
Я начинаю с правильного $ HOME со всеми моими конфигурационными файлами:
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
Но если я войду через SSH (Bitvise SSH Server v6, установленный в Windows XP SP3), и я повторю процесс (тот же пользователь):
c:\CygWin\bin\bash.exe --login -i
Теперь Bash Shell не запускается там, где должен:
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
То есть: CygWin запустил оболочку в моем домашнем каталоге Windows, поэтому у меня нет моих персонализаций (.bashrc, .bash_profile ... и т.д.), Таких как псевдонимы.
Возможно, это странное поведение вызвано отсутствием какой-либо переменной среды (которая существует в графическом интерфейсе, но отсутствует на удаленной консоли), но я не смог ее найти.
Как я мог сделать так, чтобы моя удаленная консоль запускала оболочку Bash, включенную в CygWin, где она должна?
- РЕДАКТИРОВАТЬ: вот некоторые дополнительные данные по запросу:
В местном Bash Shell:
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
На удаленном Bash Shell (ничем не отличается):
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
И это содержимое /etc /passwd (показывается только строка "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)]
РЕДАКТИРОВАТЬ 2: В первом письме я был неправ: файл .bashrc в начальный путь (где бы этот путь не был) читается ОК CygWin при запуске своей оболочки. Эта информация сейчас удалена.
РЕДАКТИРОВАТЬ 3: Мои тесты были сделаны только для удаленного входа SSH, а не Telnet. Так возникла проблема: именно из-за некоторого поведения Bitvise SSH Server (см. Ответ ниже).