%20no%20se%20inicia%20en%20la%20ruta%20%24HOME%20correcta.png)
he instaladoCygwinv1.7.28.
El problema se explica rápidamente.: Básicamente, al iniciar un shell CygWin mediante inicio de sesión remoto, el$INICIOno está donde debería, con todas las (malas) consecuencias derivadas de ello. Las consolas locales funcionan bien.
Y ahora para eldetalles:
Si en la GUI (Windows XP) hago:
c:\CygWin\bin\bash.exe --login -i
o (de la misma manera, prácticamente):
c:\CygWin\Cygwin.bat
empiezo por lo correcto$INICIOcon todos mis archivos de configuración:
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
Pero si inicio sesión a través de SSH (Servidor SSH Bitvisev6 instalado en Windows XP SP3) y repito el proceso (mismo usuario):
c:\CygWin\bin\bash.exe --login -i
Ahora elShell de golpeno comienza donde debería:
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
Eso es:CygwinInicié el shell en mi directorio de inicio de Windows, por lo que no tengo mis personalizaciones (.bashrc,.bash_profile...etc), como alias.
Tal vez este comportamiento extraño se deba simplemente a algún tipo de variable de entorno faltante (que existe en la GUI, pero no en la consola remota), pero no he podido localizarla.
¿Cómo podría hacer para que mi consola remota inicie elShell de golpeincluido enCygwindonde debería?
- EDITAR: aquí algunos datos adicionales a pedido:
En Bash Shell local:
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
En Bash Shell remoto (nada difiere):
LuisRivas@portatilacer ~
$ id
uid=1004(LuisRivas) gid=513(Ninguno) grupos=513(Ninguno),0(root),544(Administradores),545(Usuarios)
Y este es el contenido de /etc/passwd (solo se muestra la línea del usuario "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)]
EDITAR 2: En un primer escrito me equivoqué: el archivo.bashrcen la ruta inicial (dondequiera que esté esta ruta) se lee OK porCygwinal iniciar su caparazón. Esa información está eliminada ahora.
EDITAR 3: Mis pruebas solo se realizaron en inicios de sesión remotos SSH, no en Telnet. Entonces surgió el problema: precisamente por algún comportamiento de Bitvise SSH Server (lea la respuesta a continuación).
Respuesta1
El problema en pocas palabras:Servidor SSH Bitvise(Windows) agrega una variable de entorno (supuestamente ilógica; parece no ser necesaria)%HOGAR%eso equivale a%RUTA DE INICIO%.
La solución: la posibilidad de gestionar las variables de entorno que Bitvise SSH Server añade a cada cliente SSH (Masilla, línea de comandos clásica de GNUSSH... etc). Según he investigado, el programa no tiene esta funcionalidad. Seguiré buscando.
Soluciones alternativas:
Llama aShell de golpea través de.cmdarchivo que primero elimina el%HOGAR%Variable ambiental. Algo como:
@ establecer INICIO =
@ c:\CygWin\bin\bash.exe --login -iComenzando elShell de golpecambiando el$INICIOvalor y reiniciarlo:
c:\CygWin\bin\bash.exe --login -i -c "export HOME=/home/%USERNAME%;cd /home/%USERNAME%; exec /bin/bash"
Simplemente copiando todos los archivos de configuración dec:\CygWin\home\%NOMBRE DE USUARIO%ac:\Usuario\%NOMBRE DE USUARIO%. Parece funcionar bien (¿alguien sabe acerca de algún problema con este método?).
Gracias a @user1147688 (arriba) por sus ideas y el enlace a la solución desde unpregunta similar.
Respuesta2
Para mí, el problema no se debió a una variable ambiental de Windows %HOME% que pude eliminar. No se incluyó ninguna variable %HOME% en el cuadro de diálogo Variables ambientales.
En cambio, pude resolver el problema en Bitvise desmarcando "Permitir variables ambientales" en la configuración avanzada. También eliminé "%HOME%" en el campoDirectorio inicial del shell del terminal, pero eso no fue suficiente por sí solo.