2012-02-12 10 views
14

Ho recentemente installato tutti i pacchetti X11 nella configurazione di cygwin e ora hanno un enorme fastidioso errore con l'impossibilità di vedere gitk. Tutto era che funzionava perfettamente fino a quando non ho installato questa roba.Cygwin gitk issue

Prima ho avuto questo problema non ho davvero fatto notare qualsiasi configurazione I semplicemente iniziato xwinserver è andato al mio ramo e digitato gitk e tutto apparso. Ora devo inserire il mio schermo perché afferma che il display non è impostato. Posso esportare il mio impostazioni di visualizzazione verificare che sia impostato correttamente eseguendo xclock che viene visualizzato . Poi ho il problema:

 
1 [main] wish8.5 3436 child_info_fork::abort: data segment start: parent(0x4CF000) != child(0x67F000) 
Error in startup script: unknown color name "SystemButtonFace" 
while executing 
"winfo rgb . $c" 
(procedure "setui" line 3) 
invoked from within 
"setui $uicolor" 
(file "C:\cygwin\bin\gitk" line 11504) 

Non ho idea di cosa sia. Ho visto un paio di domande pertinenti ma nessuna risposta .

Note: Sto usando Windows 7 a 64 bit e con una shell Bash

Aggiornamento: ancora sto ottenendo esattamente lo stesso errore. Questo è davvero frustrante! Ho può solo scaricare Debian

risposta

17

sono stato in grado di ottenere gitk lavorare da oggi con le seguenti versioni su Win 7 64 bit:

$ cygcheck -c cygwin git gitk tcl tcl-tk 
Cygwin Package Information 
Package    Version  Status 
cygwin    1.7.10-1  OK 
git     1.7.9-1  OK 
gitk     1.7.9-1  OK 
tcl     8.5.11-1  OK 
tcl-tk    8.5.11-1  OK 

Il collegamento più importante è stato quello pubblicato da aap. Questo mi ha portato a tutti gli altri passaggi.

Per correggere i guasti della forcella, seguire il collegamento this dalle domande frequenti su Cygwin. I passi che ho seguito sono stati i seguenti:

  1. Start -> Esegui -> ash.exe ->/bin/rebaseall (Non c'era uscita quando ho fatto funzionare quel comando)

  2. Uno dei motivi per cui si potrebbe ottenere i guasti della forcella è la presenza di software/Firewall/Spyware-filtro antivirus.

    Nel mio caso i software BLODA elencati come motivi per i guasti della forcella erano McAfee che ho sul mio pc di lavoro.La correzione è stato quello di spostare la directory Cygwin all'interno di una cartella esclusa dalla OAS di McAfee e creare un collegamento simbolico alla vecchia posizione in questo modo:
    mklink /D C:\Cygwin C:\Dev\Cygwin

    C: \ Dev è la cartella esclusa

    Le esclusioni di cartelle può essere configurato usando la Viruscan Console. Per verificare se la directory corrente di Cygwin è esclusa, vedere this.

  3. partire gitk

    •         Metodo 1
             
      1. In Cygwin Console: 01.235.startx&

      2. Il titolo della finestra che si apre deve essere utilizzato per impostare la variabile DISPLAY ENV in Cygwin in questo modo:
        Titolo: Cygwin/X: 1.0, poi fare export DISPLAY=localhost:1.0
        Titolo: Cygwin/X: 0.0, poi fare export DISPLAY=localhost:0.0

      3. finalmente iniziare gitk in questo modo:
        gitk&

      4. Quello che ho finito con era questo: 01.235.


    •         Metodo 2
             
      1. Creare un file ~ /.startxwinrc con il seguente contenuto:
        gitk&
      2. Quindi eseguire il seguente comando:
        startxwin>/dev/null 2> & 1
      3. ho finito con una finestra gitk che sembra esattamente come prima dell'intera cosa 'require X' menzionata da aap accaduto:



+1

Deve essere/bin/rebaseall - il percorso completo è richiesto quando si trova nella shell ash. – David

+0

Grazie David. Ho cambiato il post per utilizzare il percorso assoluto. –

+0

Ho seguito tutti questi passaggi e ho ancora lo stesso problema. L'unica differenza è che ho una versione diversa di git e gitk – bubblebath

15

sembra che ci siano tre questioni qui.

  1. requisito DISPLAY è dovuto Cygwin Tk cambiando a require X.

  2. errore SystemButtonFace è dovuto anche la stessa modifica. La correzione consigliata è quella di remove your ~/.gitk file di impostazioni, o per lo meno la linea in quel file riferimento SystemButtonFace.

  3. problema fork - sembra richiedere rebaseall.

Nota anche che c'è una versione aggiornata 1.7.9 di git e gitk trovare la sua strada agli specchi Cygwin, ma di per sé tale versione non ha risolto il problema per me.

+1

Grazie, la rimozione del file .gitk l'ha corretto per me. –

+0

. Il lavoro di rimozione di gitk per uno sviluppatore qui ha avuto lo stesso problema. –

7

Sulla base della risposta di cui sopra, ho fatto una correzione diversa. Nel mio ~/.bash_profile, ho aggiunto il seguente:

startxwin >/dev/null 2>&1 
export DISPLAY=localhost:0.0 

Penso che sia una soluzione migliore rispetto aggiungendo gitk & al ~/.startxwinrc, da allora funziona solo con gitk. In questo modo puoi quindi fare git gui e anche altre cose.

+0

Se lavori con più terminali ti consiglio di aggiungere una condizione come 'ps | grep -q/usr/bin/XWin || startxwin' –

0

Alla fine ho dovuto rimuovere cygwin e reinstallarlo. Il problema si trova da qualche parte nell'X11 per me. Quando ho reinstallato ho dovuto rebaseall come ho avuto un problema di fork in modo che queste risposte davvero aiutato. Ho dovuto impostare anche il display in modo che andasse nel mio .bashrc

Mi dispiace di non poter fornire qualcosa di più concreto, tuttavia, qualsiasi cosa ho provato, il mio stesso problema è continuato a riapparire.

3

Le soluzioni pubblicate da tutti gli altri sono relative a Tcl/Tk's new reliance on X11. In realtà, l'errore che si sta verificando è un errore successivo a causa dell'esecuzione di gitk in GDI prima che arrivasse il requisito X11.

The fix consente di modificare il file ~/.gitk ed eliminare le righe che si riferiscono a SystemButtonFace. Una volta che hai fatto tutto, dovresti ricominciare Just Work ™.

+1

Se non ti interessa la tua configurazione gitk , Ho trovato più facile spostare o eliminare il file ~/.gitk. Gitk genererà un nuovo file di configurazione con le impostazioni predefinite, che non dovrebbero più lanciare questo messaggio di errore. "Mv ~/.gitk ~/.gitk-backup " –

1

in base alla risposta del bender

  • Installare il pacchetto xinit
  • Go Go C:\cygwin\bin, fare doppio clic ash.exe
  • immettere ./rebaseall

Poi si può iniziare gitk con

startxwin 
gitk 
1

Ho ricevuto lo stesso errore. Il problema era che inizialmente utilizzavo lo git bash e successivamente passavo all'utilizzo di git in cygwin.

Git bash's gitk aveva creato un file ~/.gitk che era incompatibile con tcl/tk di cygwin. Se elimini ~/.gitk, quando esegui gitk di cygwin creerà un nuovo file.

1

Le altre risposte che suggeriscono di rimuovere ~/.gitk puntano nella giusta direzione, ma nelle nuove versioni il file di configurazione è in ~/.config/git/gitk per impostazione predefinita, come indicato da the manual.