Git生成gtk警告:无法打开显示

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (30)

我一直在通过命令行远程处理我的项目,在我没有管理权限的机器上运行git push origin master我收到以下错误消息:

(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:

我的.git/config文件的内容如下:

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/\*:refs/remotes/origin/\* url = https://username@github.com/username/repository.git [branch "master"] remote = origin merge = refs/heads/master

我之前收到403错误了。我将用户名放在远程url中的签名之前,从那时起,我就得到了GTK错误。

当我登录到机器时ssh -X然后试着推,我得到了以下错误:

X11 connection rejected because of wrong authentication.
(gnome-ssh-askpass:31922): Gtk-WARNING **: cannot open display:localhost:10.0

如果我将遥控器的url更改为git@github.com:username/repository.git,则错误是:

ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly

你知道怎么解决这个问题吗?

提问于
用户回答回答于

我终于找到了解决这个问题的办法。我在终端中运行了以下命令:

  unset SSH_ASKPASS

然后git push origin master按它应该的方式工作。您还可以将该行添加到.bashrc档案。

用户回答回答于

最近,我在RedHat 5机器上处理了这种行为,我们的Git版本是1.7.4.1。

我不太相信unset SSH_ASKPASS不会有意想不到的后果,所以我想看看是否有其他的解决办法。

我无法确定,但似乎解决这个问题的补丁正在进行中。大约在我们的版本Git出版的同时。所以,在我看来,有理由希望最近的版本能纠正这种行为。

的确如此。升级到GIT的1.8分支解决了这个问题。错误消息仍会显示,原因有些奇怪,但密码被正确提示,并允许继续。

扫码关注云+社区