windows - como - cygwin+console2: ejecutando cygwin bash con el directorio de inicio
linux commands windows (7)
Estoy usando Console2 como un envoltorio de bash en Windows. Lo más importante es que me permite iniciar una nueva pestaña de bash en un directorio de proyecto predefinido.
Ahora me gustaría reemplazar la línea de comandos de Windows por un evento de Cygwin. Sin embargo, Cygwin no respeta la configuración del "Directorio de inicio" en la Consola2.
Básicamente, veo tres enfoques de solución:
- Averigüe cómo debe ser la configuración de la Consola2 para que la base de Cygwin la respete
- Agregue un parámetro de inicio a la base de Cygwin, configurando el directorio de inicio
- Ejecutar automáticamente un script después del inicio de bash que cambia el directorio
Buscando en la documentación de Cygwin y en el resto de Internet, no pude encontrar una solución para ninguno de esos enfoques. Sin embargo, puedo imaginar que la solución es trivial para alguien más. :)
entorno: Win XP, consola 2.00.146, Cygwin 1.7.7, GNU Bash 3.2.51 (24)
Cambie el directorio de shell a:
bash --login -i -c ''cd /cygdrive/c/...; exec /bin/bash''
Agregue esta línea al final de
C:/cygwin/home/USERNAME/.profile
cd -
Con respecto a su último punto de bala, puede poner por ejemplo:
cd /cygdrive/d
in ~ / .bash_profile Esto se detectará cuando se utilice Console2 y también cuando ejecute Cygwin.
Estaba teniendo el mismo problema, vi tu publicación y luego encontré esta respuesta:
- Ejecute el instalador Cygwin de Setup.exe y agregue el paquete "chere"
- En Console2, agregue una nueva pestaña llamada "Bash" con una ruta de shell de "C: / cygwin / bin / bash". Ver captura de pantalla.
- Finalmente, agregue lo siguiente al registro: Código:
Editor del Registro de Windows Versión 5.00
[HKEY_CLASSES_ROOT / Directory / shell / Abrir Cygwin aquí ...]
[HKEY_CLASSES_ROOT / Directory / shell / Abrir Cygwin Here ... / command] @ = "/" C: / Archivos de programa / Console2 / Console.exe / "-t Bash -r /" / bin / xhere / bin / bash. exe ''% L'' / ""
Encontré esta solución en: http://www.e-texteditor.com/forum/viewtopic.php?p=8884
Intenté variaciones de todo lo anterior, pero ninguna funcionó. Esto es lo que me funcionó con Console2 v2.00.148:
1) .. Copie el Cygwin.bat en un nuevo archivo: Cygbash.bat.
2) .. Reemplace la última línea para que sea esta: bash --login -i -c ''cd /cygdrive/c/; exec bash''
bash --login -i -c ''cd /cygdrive/c/; exec bash''
3) .. Vaya a la configuración de Console2 y cambie el shell para que apunte a este nuevo archivo Cygbash.bat.
Lo anterior iniciará Console2 en la raíz de su unidad C. fyi - Soy el póster original, solo olvidé iniciar sesión en mi cuenta primero.
Tuve algunos problemas con algunos de los enfoques anteriores (la ventana de la Consola 2 se descompuso al usar c: / cygwin / bin / bash.exe como shell, no se refleja el directorio de trabajo real).
Así que creé este archivo por lotes y lo usé como shell de Console2:
C: / cygwin64 / cygbash.bat:
C:/cygwin64/bin/bash --login -i -c "/bin/xhere /bin/bash `cygpath -d ''%CD%''`"
En cuanto al último punto, edite su ~/.bashrc
y agregue un comando de cd
al final.
En lugar de eso, puedes intentar esto para obtener tu primer punto: si la configuración de Console2 para iniciar Bash se parece a esto:
bash --login -i
cambiarlo a
bash --login -i -c ''cd somdir; exec bash''
- En el instalador de Cygwin, agregue el paquete "chere" (contiene el script / bin / xhere)
- Use el siguiente comando de shell en la configuración de Console2:
C: / cygwin / bin / bash.exe -c ''/ bin / xhere / bin / bash''