Cygwin .bashrc no es fuente porque cygwin se inicia en Windows Home

Pregunta:

NOTA: Consulte mi segunda edición a continuación para obtener una actualización del problema.

Cygwin funcionó bien para mí hasta la semana pasada. Ahora .bashrc no se está obteniendo. Debo haber instalado o cambiado algo, pero no recuerdo exactamente qué causó el problema. Cuando inicio Cygwin, estoy en mi casa de Windows y ninguno de mis alias funciona. Tengo que obtener manualmente .bashrc. El siguiente es mi Cygwin.bat:

@echo off

C:
chdir C:\cygwin\bin

set CYGWIN=tty notitle glob

bash --login -i

¿Algunas ideas?

EDITAR: Mi .bash_profile contiene lo siguiente,

# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi

EDIT2: ¡IMPORTANTE! Cuando inicié Cygwin, se inicia en mi carpeta de inicio de Windows. ¡Intenté poner mi .bash_profile y .bashrc en esta carpeta y se obtuvieron correctamente! Esto significa que el problema se ha reducido a averiguar por qué Cygwin se inicia en la carpeta de inicio de Windows y no en la carpeta de inicio normal de Cygwin.

EDIT3: Resultados de ejecutar grep Gulshan / etc / passwd /

$ grep Gulshan /etc/passwd
Administrator:unused:500:513:U-Gulshan-HP\Administrator,S-1-5-21-1235613160-4193452482-2032876723-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-Gulshan-HP\Guest,S-1-5-21-1235613160-4193452482-2032876723-501:/home/Guest:/bin/bash
Gulshan:unused:1000:513:U-Gulshan-HP\Gulshan,S-1-5-21-1235613160-4193452482-2032876723-1000:/home/Gulshan:/bin/bash

Respuesta:

Las preguntas frecuentes de Cygwin explican cómo se configura $HOME :

Al iniciar Cygwin desde Windows, HOME se determina de la siguiente manera en orden de prioridad decreciente:

  • HOME desde el entorno de Windows, traducido al formato POSIX.
  • La entrada en /etc/passwd
  • /home/USERNAME

Cuando se usa Cygwin desde la red (telnet, ssh, …), HOME se configura desde /etc/passwd .

Si su HOME está configurado en un valor como /cygdrive/c , es probable que se haya configurado en Windows. Inicie una ventana de comandos de DOS y escriba set HOME para verificar si este es el caso.

El acceso a las unidades compartidas a menudo está restringido cuando se inicia desde la red, por lo que los usuarios del dominio pueden desear tener un HOME diferente en el entorno de Windows (en la unidad compartida) que en /etc/passwd (en la unidad local). Tenga en cuenta que ssh solo considera /etc/passwd , sin tener en cuenta HOME .

Mi mejor suposición es que ha estropeado su /etc/passwd . (El directorio de inicio de Windows es %USERPROFILE% , no %HOME% .)

¿Qué imprime grep USERNAME /etc/passwd (reemplazando USERNAME con su nombre de usuario)?

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım