GIT中产生GTK的警告:无法打开显示(git produces Gtk-WARNING: cann

2019-08-31 11:32发布

我一直对我的项目通过远程命令行的机器上,而我没有管理员权限,运行后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

你知道如何解决这一问题?

Answer 1:

我终于发现了一个解决问题的办法。 由于它被描述在这里 ,我跑在终端下面的命令:

  unset SSH_ASKPASS

然后运行git push origin master作品的方式应该。 您还可以将行添加到您.bashrc文件。



Answer 2:

最近我处理了这个问题了RedHat 5机在那里我们Git的版本是1.7.4.1上。

我没有一个高度的信心unset SSH_ASKPASS不会有意想不到的后果,所以我想看看是否有另一种解决方案。

我不能告诉肯定的,但似乎一个针对此问题的补丁是在作品周围,我们的Git版本已经出版的同一时间。 所以,在我看来,这是合理的希望,一个较新的版本会修正行为。

事实上的确如此。 升级到的Git分支1.8解决了这个问题。 仍然显示错误消息的一些奇怪的原因,但您正确提示输入密码,并允许继续。



Answer 3:

这些答案都不为我工作(通过Cygwin在Windows 10 ssh'ing到RHEL 6.8服务器,并试图克隆从RHEL框中github.com回购),所以我所做的就是通过SSH密钥克隆而不是HTTPS的用户名/密码。 例如我用git@github.com名称:myusername / myproject.git而不是HTTPS URL。 我也适当地上传我的公钥到Github上。 这种方法工作得很好。

注:以上解决方案,其实我没有尝试升级到混帐的1.8分支



Answer 4:

您也可以尝试使用ssh -Y到远程服务器登录所以对话框可以图形化显示。

像OP,通过ssh -X登录没有工作。 当试图推动下,服务器只是重复相同的错误消息- (gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display: -因为它通过ssh没有X11转发登录时一样。 这是什么OP报道时,他试图SSH稍有不同的行为-X为自己的错误消息只从使用ssh略有改变。

但是,对我来说,一次登录使用ssh-Y:没有错误,密码对话框弹出,我输入密码,GitHub上接受了推。

作为预警,SSH -Y可以为你治疗的远程服务器作为一个值得信赖的客户(开安全问题https://askubuntu.com/questions/35512/what-is-the-difference-between-ssh-y-可信X11转发和-SSH旭 )。 所以使用时要小心。



文章来源: git produces Gtk-WARNING: cannot open display