Tengo una instalación de Xming / Cygwin en mi Windows. Bueno, sobre todo ...
Configuré mi directorio de inicio a / cygdrive / d en / etc / passwd. Cuando inicio el Cygwin Bash Shell (la ventana de DOS acortada), esto funciona: $ HOME se establece en / cygdrive / d, Cygwin encuentra mi ~ / .bash_profile, todo está bien.
sin embargo , cuando empiezo un xterm
, comienza en /cygdrive/c/Documents and Settings/<Username>
, y lo hace no fuente mi .bash_profile, que es molesto como el infierno.
En algún momento durante esta tarde, funcionó, y ahora está roto, pero por mi vida no puedo recordar cómo lo rompí.
¿Ayuda?
Editar: Lo siento, debería haber sido más preciso. El xterm se inicia como xterm -ls
, es decir, como shell de inicio de sesión. Eso hace encuentre el perfil global (porque ejecuta un bash y establece $ PS1 correctamente), pero obviamente se confunde con $ HOME (y por lo tanto no ejecuta ~ / .bash_profile porque no puede encontrarlo)
Conozco una o dos maneras de solucionarlo, pero me gustaría encontrar el porque De este muckup, no arreglamos los efectos.
Edit2: Pruebas adicionales demostraron que esto - $ HOME no se establece de acuerdo con / etc / passwd - sucede solo cuando la aplicación se inicia desde el menú de la barra de tareas de Xming / Xmingrc . También es contagioso: cualquier sub-xterm iniciado desde un xterm "roto" se abre en el $ HOME incorrecto. Igualmente al revés: comenzó cualquier bash / xterm fuera de El menú Xmingrc (que se abre en el $ HOME apropiado) puede iniciar sub-xterms que también son correctos.
Soy un poco confundido aqui
C:\Documents and Settings\<user>
cuando se invoca xterm? Eso anularía el/etc/passwd
ajuste.Respuestas:
xterm
comienza en el directorio actual y ejecuta el programa que le indica que ejecute (su shell preferido por defecto, pero no un shell de inicio de sesión). Eso es cierto tanto en Windows como en Unix. Si quieres tener un shell de inicio de sesión, ejecutaxterm -e bash --login
. Si desea comenzar en su directorio de inicio, configure el campo del directorio en el acceso directo (asumiendo que está iniciando xterm desde un acceso directo de Windows).fuente
Encontré la respuesta oculta en la documentación de Xming. Si no
HOME
variable de entorno se establece en el sistema, Xming lo establece en%USERPROFILE%
.Que a su vez anula el Cygwin
/etc/passwd
Configuraciones, como señala ak2.Por lo tanto, la solución es configurar manualmente el INICIO en el panel de control.
fuente