Предотвратите git от всплывающего окна пароля gnome
Я раньше не задавал такого вопроса, так что это может быть неправильный сайт для этого.
Я использую терминал xfce в выпадающем режиме, подключенном к горячей клавише. Он закрывается, когда активируется другое окно, и это нормально. Однако не совсем хорошо, когда я использую git и нажимаю или нажимаю на https-url, он выдает забавное поле, чтобы спросить меня о моем пароле, а не просто позволить мне ввести его непосредственно в командной строке.
Обычно я хотел бы найти ответ на этот вопрос, но, к сожалению, большинство людей пытаются заставить git перестать запрашивать пароль вообще, а не препятствовать диалогу, поэтому мне сложно работать с Google (доверие я, я пробовал пару месяцев сейчас, когда меня раздражает).
Как я могу предотвратить git от появления любых графических окон для таких вещей, как пароли? git говорит, что он использует /usr/lib/seahorse/seahorse-ssh-askpass
для запроса пароля, поэтому, если есть некоторая опция конфигурации, чтобы предотвратить ее использование (или это имеет эквивалентный эффект), это было бы здорово.
Большое спасибо за любую помощь.
Ответы
Ответ 1
Похоже, что git, вероятно, использует переменные среды GIT_ASKPASS
или SSH_ASKPASS
, чтобы выяснить, следует ли использовать отдельную программу для запроса паролей.
Попробуйте запустить unset GIT_ASKPASS
или unset SSH_ASKPASS
. Теперь попробуйте нажать или вытащить из репозитория git. Если это работает, добавьте соответствующую команду в .bashrc
, .zshrc
или любой другой файл, который вы используете для запуска команды при запуске оболочки.
Вы также можете переопределить значение git core.askpass
с помощью 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
Ответ 2
отключить DISPLAY при запуске команд git, которым может потребоваться пароль, а gnome-ssh-askpass будет использовать приглашение текстового терминала.
Например:
DISPLAY= git push