git produces Gtk-WARNING: cannot open display

I’ve been working on my project remotely through the command line on a machine to which I don’t have admin rights and after running git push origin master I get the following error message:

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

My .git/config file has the following contents:

  • GitLab: Is there a way to protect a branch from command line?
  • Why does git rev-list fail to detect remote / origin changes?
  • Can't run bundle update on Windows
  • Best way to manage external git repos within a private repo
  • Git: Branch is ahead by X commits. Doesn't help doing git pull
  • Gitlab - Can not pull from remote after merge requests accepted
  •     [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
    

    I was getting the 403 error earlier. Following the comment here, I put my username before the @ sign in the remote url and since then, I’ve been getting the Gtk error.

    When I login to the machine using ssh -X and try to push, I get the following error:

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

    If I change the url of the remote to git@github.com:username/repository.git, then the error is:

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

    Do you know how to fix this?

  • vbcs.cache/edb.log locked by Visual Studio 2015
  • How to use Jenkins to push to Github on test success?
  • fatal: unable to get credential storage lock: File exists
  • Git broken after restoring to new server - how to resolve?
  • avoid timestamps in git
  • Why does a “git push” just hang there indefinitely using MySysGit 1.7.4?
  • 3 Solutions collect form web for “git produces Gtk-WARNING: cannot open display”

    I have finally discovered a solution to the problem. As it was described here, I ran the following command in the terminal:

      unset SSH_ASKPASS
    

    and then running git push origin master works the way it should. You can also add the line to your .bashrc file.

    I recently dealt with this behavior on a RedHat 5 machine where our Git version was 1.7.4.1.

    I didn’t have a high degree of confidence that unset SSH_ASKPASS wouldn’t have unintended consequences, so I wanted to see if there was another solution.

    I couldn’t tell for certain, but it seems that a patch for this problem was in the works around the same time that our version of Git had been published. So, it seemed to me that it was reasonable to hope that a more recent version would correct the behavior.

    And indeed it did. Upgrading to the 1.8 branch of Git resolved the problem. The error message is still displayed for some odd reason, but you are correctly prompted for your password and allowed to continue.

    None of these answers worked for me (ssh’ing via Cygwin on Windows 10 into a RHEL 6.8 server and trying to clone a github.com repo from the RHEL box) so what I did was clone via an SSH key rather than HTTPS username/password. e.g. I used git@github.com:MyUsername/myproject.git rather than the https url. I also appropriately uploaded my public key into Github. This method worked fine.

    Note: Of the above solutions, I actually didn’t try upgrading to the 1.8 branch of git

    Git Baby is a git and github fan, let's start git clone.