15

最近、すべてのX11パッケージをcygwinセットアップにインストールしましたが、gitkが表示されないという非常に厄介なエラーが発生しました。私がこのようなものをインストールするまで、すべてが完全にうまく機能していました。

この問題が発生する前は、xwinserverを起動しただけで、ブランチに移動してgitkと入力すると、すべてが表示されました。ディスプレイが設定されていないと主張しているので、ディスプレイを配置する必要があります。表示設定をエクスポートして、表示されるxclockを実行して正しく設定されていることを確認します。次に、問題が発生します。

1 [main] wish8.5 3436 child_info_fork :: abort:データセグメント開始:parent(0x4CF000)!= child(0x67F000)
起動スクリプトのエラー:不明な色名「SystemButtonFace」
実行中
"winforgb。$c"
(手順「せつい」3行目)
内部から呼び出されます
「setui$uicolor」
(ファイル "C:\ cygwin \ bin \ gitk"行11504)

これが何であるかについての手がかりを得ていません。関連する質問をいくつか見ましたが、答えはありません。

注:私はWindows 7 64ビットを使用しており、Bashシェルを使用しています

更新:まだまったく同じエラーが発生します。これは本当にイライラします!Debianをダウンロードするだけかもしれません

4

8 に答える 8

17

I was able to get gitk working as of today with the following versions on 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

The most valuable link was the one posted by aap. That led me to all the other steps.

フォークの失敗を修正するには、Cygwin FAQ のこのリンクに従ってください。私が従った手順は次のとおりです。

  1. Start -> Run -> ash.exe -> /bin/rebaseall (そのコマンドを実行しても何も出力されませんでした)

  2. One of the reasons why you might get fork failures is the presence of Antivirus/Firewall/Spyware-cleaner softwares.

    In my case the BLODA softwares listed as reasons for the fork failures was McAfee which I have on my work pc. The fix was to move the Cygwin directory inside a folder excluded by McAfee's OAS and create a symbolic link to the old location like so:
    mklink /D C:\Cygwin C:\Dev\Cygwin

    C:\Dev is the excluded folder

    The folder exclusions can be configured using the Viruscan Console. To test whether your current Cygwin directory is excluded see this.

  3. Starting GITK

    •     Method 1
          
      1. In Cygwin Console :
        startx&

      2. ポップアップするウィンドウのタイトルを使用して、Cygwin で DISPLAY 環境変数を次のように設定
        する必要がありますexport DISPLAY=localhost:1.0
        export DISPLAY=localhost:0.0

      3. 最後に、次のように gitk を開始します。
        gitk&

      4. 私が最終的に得たのはこれでした:


    •     方法 2
          
      1. 次の内容で ファイル~/.startxwinrcを作成します。
        gitk&
      2. 次に、次のコマンドを実行します:
        startxwin >/dev/null 2>&1
      3. 私は、aapによって言及された「require X」全体が発生する前のものとまったく同じように見えるgitkウィンドウになりました:



于 2012-02-14T10:19:54.797 に答える
16

ここには3つの問題があるようです。

  1. DISPLAY 要件は、Cygwin Tkが X を要求するように変更されたためです。

  2. SystemButtonFace エラーも同じ変更によるものです。推奨される修正は、~/.gitk設定ファイル、または少なくとも SystemButtonFace を参照するそのファイル内の行を削除することです。

  3. フォークの問題 - rebaseallが必要なようです。

git と gitk の更新されたバージョン 1.7.9 が cygwin ミラーへの道を見つけていることにも注意してください。ただし、そのバージョンだけでは問題は解決しませんでした。

于 2012-02-14T00:59:16.177 に答える
7

上記の回答に基づいて、別の修正を行いました。私~/.bash_profileの に、次を追加しました。

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

~/.startxwinrc に gitk& を追加するよりも良い解決策だと思います。このようにして、git gui やその他のことも実行できます。

于 2012-02-15T21:47:56.957 に答える
3

他の誰もが投稿している解決策は、Tcl/Tk の X11 への新しい依存に関連しています。実際、表示されているエラーは、X11 要件が発生する前に GDI で gitk を実行したために発生した後続エラーです。

修正するには、ファイルを編集し、~/.gitkを参照するすべての行を削除しますSystemButtonFace。それが完了すると、すべてが Just Work™ に戻るはずです。

于 2012-02-24T09:46:54.877 に答える
1

ベンダーの回答に基づく

  • xinit パッケージをインストールする
  • ゴーゴーC:\cygwin\bin、ダブルクリックash.exe
  • 入力./rebaseall

gitk次に、から始めることができます

startxwin
gitk
于 2012-04-24T04:48:59.730 に答える
0

結局、cygwin を削除して再インストールする必要がありました。この問題は、私にとって X11 のどこかにあります。再インストールしたとき、フォークの問題があったため、すべてをリベースする必要があったため、これらの回答は本当に役に立ちました。.bashrc に表示されるように、ディスプレイも設定する必要がありました

申し訳ありませんが、より具体的なものを提供することはできませんが、同じ問題を何を試しても再発し続けました。

于 2012-02-18T11:12:19.270 に答える