programing

Git는 Gtk-WARNING을 생성합니다: 디스플레이를 열 수 없습니다.

linuxpc 2023. 8. 24. 21:50
반응형

Git는 Gtk-WARNING을 생성합니다: 디스플레이를 열 수 없습니다.

관리자 권한이 없는 컴퓨터의 명령줄을 통해 원격으로 프로젝트를 수행한 후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 지점으로 업그레이드하여 문제가 해결되었습니다.오류 메시지는 여전히 이상한 이유로 표시되지만 암호를 올바르게 입력하라는 메시지가 표시되고 계속 진행할 수 있습니다.

(Windows 10의 Cygwin을 통해 RHEL 6.8 서버로 전환하고 RHEL 상자에서 github.com repo를 복제하려고 시도함) 이러한 답변은 모두 효과가 없었습니다. 따라서 HTTPS 사용자 이름/암호가 아닌 SSH 키를 통해 복제했습니다. 예: git@github.com :https URL이 아닌 myUsername/myproject.git.저는 또한 Github에 제 공개키를 적절히 업로드했습니다.이 방법은 잘 작동했습니다.

참고: 위의 솔루션 중에서 실제로 git의 1.8 브랜치로 업그레이드를 시도하지 않았습니다.

대화 상자가 그래픽으로 나타날 수 있도록 원격 서버에 ssh-Y를 사용하여 로그인을 시도할 수도 있습니다.

OP와 마찬가지로 ssh-X를 통한 로그인이 작동하지 않았습니다.푸시를 시도할 때 서버는 동일한 오류 메시지를 반복했습니다.(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:X11 포워딩이 없는 ssh를 통해 로깅할 때와 마찬가지로.이는 단순히 ssh를 사용하는 것에서 오류 메시지가 약간 변경되어 OP가 ssh-X를 시도할 때 보고한 것과 약간 다른 동작입니다.

하지만 저는 ssh-Y를 사용하여 로그인한 후 오류가 발생하지 않았고, 비밀번호 대화상자가 뜨며 비밀번호를 입력했고, GitHub이 푸시를 수락했습니다.

경고로서 ssh-Y는 원격 서버를 신뢰할 수 있는 클라이언트(https://askubuntu.com/questions/35512/what-is-the-difference-between-ssh-y-trusted-x11-forwarding-and-ssh-x-u) 로 취급할 때 보안 문제를 발생시킬 수 있습니다.그러니 그것을 사용할 때 조심해야 합니다.

언급URL : https://stackoverflow.com/questions/16077971/git-produces-gtk-warning-cannot-open-display

반응형