Cygwin gitk问题

bub*_*ath 15 git x11 bash cygwin gitk

我最近在cygwin设置中安装了所有X11软件包,现在又出现了大量烦人的错误而无法看到gitk.在我安装这些东西之前,一切都运转良好.

在我遇到这个问题之前,我没有真正注意到我刚刚启动的任何配置xwinserver进入我的分支并键入gitk并且一切都出现了.现在我必须放入我的显示器,因为它声称没有设置显示器.我导出我的显示设置通过运行出现的xclock检查它是否设置正确.然后我得到了问题:

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)

不知道这是什么.我看过几个相关的问题,但没有答案.

注意:我使用的是Windows 7 64位并使用Bash shell

更新:我仍然得到完全相同的错误.这真是令人沮丧!我可能只是下载Debian

Ash*_*dal 17

到目前为止,我能够在Win 7 64位上使用以下版本获得gitk:

$ 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
Run Code Online (Sandbox Code Playgroud)

最有价值的链接是aap发布的链接.这导致了我所有其他步骤.

要解决该叉故障遵循这个从Cygwin的FAQ链接.我遵循的步骤如下:

  1. 开始 - >运行 - > ash.exe - > / bin/rebaseall (运行该命令时没有输出)

  2. 您可能遇到分支故障的原因之一是防病毒/防火墙/间谍软件清除软件的存在.

    在我的情况下,作为fork故障原因列出的BLODA软件是McAfee,我在我的工作电脑上.解决方法是将Cygwin目录移动到McAfee的OAS排除的文件夹中,并创建指向旧位置的符号链接,如下所示:
    mklink /D C:\Cygwin C:\Dev\Cygwin

    C:\ Dev是排除文件

    夹可以使用Viruscan控制台配置文件夹排除项.要测试当前的cygwin目录是否被排除在外看到这个.

  3. 启动GITK

    •     方法1
          
      1. 在Cygwin控制台中:
        startx&

      2. 弹出窗口的标题必须用于在Cygwin中设置DISPLAY env变量,如下所示:
        标题:Cygwin/X:1.0,然后执行export DISPLAY=localhost:1.0
        标题:Cygwin/X:0.0,然后执行export DISPLAY=localhost:0.0

      3. 最后像这样启动gitk:
        gitk&

      4. 我最终得到的是:


    •     方法2
          
      1. 使用以下内容创建一个〜/ .startxwinrc文件:
        gitk&
      2. 然后运行以下命令:
        startxwin>/dev/null 2>&1
      3. 我最终得到了一个gitk窗口,看起来与aap发生的整个'require X'之前的那个窗口完全相同:




aap*_*aap 16

这里似乎有三个问题.

  1. 显示要求是由于Cygwin的Tk的改变,以要求X.

  2. SystemButtonFace错误也是由于相同的更改.建议的解决方法是删除你的〜/ .gitk设置文件,或至少在该文件中引用行SystemButtonFace.

  3. fork问题 - 似乎需要rebaseall.

另请注意,有一个更新版本1.7.9的git和gitk找到了通往cygwin镜像的方法,但是这个版本本身并没有为我解决问题.


小智 7

基于上面的答案,我做了一个不同的修复.在我~/.bash_profile,我添加了以下内容:

startxwin >/dev/null 2>&1
export DISPLAY=localhost:0.0
Run Code Online (Sandbox Code Playgroud)

我认为这比将gitk添加到〜/ .startxwinrc是一个更好的解决方案,因为它只适用于gitk.这样你就可以做git gui和其他事情了.