我之前没有问过这种性质的问题,所以这可能不适合这个。
我在连接到热键的下拉模式下使用xfce终端。当另一个窗口变为活动状态时它会关闭,这很好。然而,不好的是,当我使用git并将其拉或推到https网址时,会弹出一个有趣的框来询问我的密码,而不是让我直接在命令行输入密码。 / p>
通常我会谷歌周围找到答案,但遗憾的是大多数人都试图让git完全不再要求密码而不是阻止对话框,所以这对我来说很难谷歌(相信我;当我厌倦了,我已经尝试了几个月了。
如何阻止git弹出任何图形窗口以获取密码等内容? Git说它正在使用/usr/lib/seahorse/seahorse-ssh-askpass
来询问密码,所以如果有一些配置选项可以阻止它使用它(或具有相同的效果),那就太棒了。
非常感谢您的帮助。
答案 0 :(得分:24)
似乎git可能正在使用GIT_ASKPASS
或SSH_ASKPASS
环境变量来确定它是否应该使用单独的程序来提示输入密码。
尝试运行unset GIT_ASKPASS
或unset 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