防止git弹出gnome密码框

时间:2014-01-29 05:23:25

标签: linux git https passwords gnome

我之前没有问过这种性质的问题,所以这可能不适合这个。

我在连接到热键的下拉模式下使用xfce终端。当另一个窗口变为活动状态时它会关闭,这很好。然而,不好的是,当我使用git并将其拉或推到https网址时,会弹出一个有趣的框来询问我的密码,而不是让我直接在命令行输入密码。 / p>

通常我会谷歌周围找到答案,但遗憾的是大多数人都试图让git完全不再要求密码而不是阻止对话框,所以这对我来说很难谷歌(相信我;当我厌倦了,我已经尝试了几个月了。

如何阻止git弹出任何图形窗口以获取密码等内容? Git说它正在使用/usr/lib/seahorse/seahorse-ssh-askpass来询问密码,所以如果有一些配置选项可以阻止它使用它(或具有相同的效果),那就太棒了。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:24)

似乎git可能正在使用GIT_ASKPASSSSH_ASKPASS环境变量来确定它是否应该使用单独的程序来提示输入密码。

尝试运行unset GIT_ASKPASSunset SSH_ASKPASS。现在尝试从git存储库推送或拉出。如果可行,请将适当的命令添加到.bashrc.zshrc或shell启动时用于运行命令的任何文件。

您还可以使用core.askpass覆盖git git config --global core.askpass YOUR_PREFERRED_PROMPT_COMMAND设置的值。

来自git-config man page的相关信息:

  

core.askpass

     

交互式地要求输入密码的某些命令(例如svn和http接口)可以被告知使用通过外部程序给出的   这个变量的值。可以被GIT_ASKPASS覆盖   环境变量。如果没有设置,则回退到的值   SSH_ASKPASS环境变量,或者,失败,一个简单的密码   提示。外部程序应给予适当的提示   命令行参数并在其STDOUT上写入密码。

原始来源: http://kartzontech.blogspot.com/2011/04/how-to-disable-gnome-ssh-askpass.html

答案 1 :(得分:1)

在运行可能需要密码的git命令时取消设置DISPLAY,gnome-ssh-askpass将使用文本终端提示符。

例如:

DISPLAY= git push