que paquetes how full git cygwin tcl x11 tk

git - paquetes - pack cygwin



No se puede ejecutar git gui usando cygwin en Windows (7)

Después de pasar más tiempo de lo que me gustaría admitir, logré encontrar una solución de trabajo para ejecutar gitk desde mi caparazón cygwin. No pude obtener ninguna de las instrucciones para iniciar el servidor X para que funcione de manera confiable y, al final, la solución fue bastante simple.

La advertencia más importante es la necesidad de tener instalado Git para Windows, cuya descarga se puede encontrar here .

Ahora para toda la parte de ejecución de gitk . Git for Windows incluye una carpeta cmd, que tiene un archivo de comando de Windows gitk.cmd . Eso es todo lo que necesitas llamar para tener abierto gitk .

$ [path-to-git]/cmd/gitk.cmd

En mi sistema, la ruta de Git está en "C: / Archivos de programa (x86) / Git", por lo que el comando se vería así:

$ "/cygdrive/c/Program Files (x86)/Git/cmd/gitk.cmd"

En mi ~ / .bash_profile he agregado una función para manejar esa llamada que se ve así:

gitk() { "/cygdrive/c/Program Files (x86)/Git/cmd/gitk.cmd" }

Espero que esto ayude a alguien más a tratar de entender esta pieza.

Solía ​​lanzar git gui dentro de mi consola cygwin sin ningún problema pero desde que actualicé cygwin recibí el siguiente mensaje de error:

$ git gui Application initialization failed: no display name and no $DISPLAY environment variable Error in startup script: invalid command name "tk_messageBox" while executing "tk_messageBox -icon error -type ok -title "git-gui: fatal error" -message $err" invoked from within "if {[catch {package require Tcl 8.4} err] || [catch {package require Tk 8.4} err] } { catch {wm withdraw .} tk_messageBox / -icon error / -typ..." (file "/usr/lib/git-core/git-gui" line 34)

¿Alguien que sabe cómo resolver esto?


Después de seguir los 4 pasos dados por me_and y tititou36, aún puede tener problemas con el XWin que acaba de morir después de que inició XwinServer.

La razón es que depende de una terminal / consola CygWin, que es el host, y el Xwin muere si no hay una consola CygWin.

La solución para esto es:

Inicie una consola Cygwin. (puede hacer que comience automáticamente poniendo el comando mintty en el archivo .startxwinrc bajo su directorio de inicio de cygwin).


Esto es lo que funcionó para mí:

cat >> ~/.bash_profile <<< "export DISPLAY=:0.0"

Desde cygwin package manager, haga lo siguiente:

instala xorg-server y algunas fuentes xorg-x11-fonts-Type1 , xorg-x11-fonts-Type1 especialmente

A continuación, cree un enlace a las carpetas de fuentes de Windows para que git gui use

ln -s /cygdrive/c/Windows/Fonts /usr/share/fonts/win-fonts

Cierre el terminal cygwin y ábralo nuevamente, luego escriba

startxwin &> /dev/null &

git gui &


Según la respuesta de AndrewD: usa el git de cygwin, pero usa Windows Git''s gitk y git gui . En otras palabras, desinstale los paquetes git-gui y gitk de cygwin (si está instalado). Entonces, which gitk debería apuntar al archivo de Windows, no al archivo binario de cygwin en /usr/bin .


Editar : actualizado en marzo de 2016 para dar cuenta de paquetes renombrados, etc.

Cygwin''s gitk y git gui requieren X11. Esto significa que debe instalar algunos de los paquetes de Cygwin X11 y configurarlos para poder abrir la GUI.

Esto debería ponerlo en funcionamiento:

  1. Ejecute el instalador de Cygwin nuevamente (descargue la setup-*.exe pertinente setup-*.exe nuevamente si lo necesita).
  2. En la lista de paquetes, seleccione instalar "xinit" en la categoría X11. Haga clic en siguiente, acepte todas las dependencias e instálelas.
  3. En el menú Inicio de Windows, debe tener un nuevo grupo: Cygwin-X. A partir de ahí, ejecute el servidor XWin.
  4. En su shell Cygwin, ejecute export DISPLAY=:0.0 .

Tendrá que repetir el paso 3 cada vez que reinicie su computadora, y el paso 4 cada vez que abra un nuevo shell Cygwin (o simplemente ejecute echo "export DISPLAY=:0.0" >>~/.profile para que se ejecute automáticamente siempre creas un nuevo caparazón).

En los comentarios, parece que algunas personas reciben errores que dicen "no se pudo conectar para mostrar": 0.0 "''. Si obtienes eso, coloca el mouse sobre la X que debería haber aparecido en la bandeja del sistema (puede que necesites hacer clic en el ícono de la tapa si el ícono X ha estado oculto); el título emergente debería decir algo como "Servidor Cygwin / X: 1.0". Utilice ese ": 1.0" (o lo que sea que vea) como el valor de DISPLAY en el paso 4, en lugar de ": 0.0", asegurándose de incluir los dos puntos.

Si tiene otros problemas para iniciar el servidor X, probablemente encontrará que tiene un archivo llamado ~/.xsession-errors ; revisa el contenido de eso para ver qué está mal. También verifique si tiene un archivo ~/.startxwinrc , e intente eliminarlo y ver si eso soluciona el problema.

Para los interesados, la razón por la que los paquetes X11 no se instalan automáticamente es que no son técnicamente necesarios : es posible utilizar un servidor X11 diferente del que instala Cygwin cuando instala el paquete "xinit".


Evite X11 y agregue el soporte de git gui a cygwin

Si quiere evitar X11 (¿y quién no?):

  1. Instalar Git para Windows (no cygwin) http://git-scm.com/download/win
  2. Abra su shell de comandos C:/Program Files (x86)/Git/Git Bash
  3. ejecutar git gui

(opcional) Si desea permanecer en cygwin para ejecutar git gui , agregue una función en su ~/.bashrc para hacerlo. La única advertencia es no nombrar la función git debido a la recursión y la confusión con los argumentos, y el hecho de que usted es el shell de Git for Windows también puede estar agregando la misma función cuando se inicia. También puede encontrarse con problemas de ruta, así que tenga cuidado con la configuración correcta de sus rutas.

# call git gui from Git For Windows path with `ggui` gg() { command "/cygdrive/c/Program Files (x86)/Git/bin/git" gui 2>/dev/null; }

Cuando termine de editar su .bashrc, actualice su configuración:

source ~./bashrc

y luego simplemente:

gg


echo "export DISPLAY=:0.0" >>~/.profile

o

echo "export DISPLAY=:0.0" >>~/.bash_profile

en mi caso