Подтвердить что ты не робот

Предотвратите git от всплывающего окна пароля gnome

Я раньше не задавал такого вопроса, так что это может быть неправильный сайт для этого.

Я использую терминал xfce в выпадающем режиме, подключенном к горячей клавише. Он закрывается, когда активируется другое окно, и это нормально. Однако не совсем хорошо, когда я использую git и нажимаю или нажимаю на https-url, он выдает забавное поле, чтобы спросить меня о моем пароле, а не просто позволить мне ввести его непосредственно в командной строке.

Обычно я хотел бы найти ответ на этот вопрос, но, к сожалению, большинство людей пытаются заставить git перестать запрашивать пароль вообще, а не препятствовать диалогу, поэтому мне сложно работать с Google (доверие я, я пробовал пару месяцев сейчас, когда меня раздражает).

Как я могу предотвратить git от появления любых графических окон для таких вещей, как пароли? git говорит, что он использует /usr/lib/seahorse/seahorse-ssh-askpass для запроса пароля, поэтому, если есть некоторая опция конфигурации, чтобы предотвратить ее использование (или это имеет эквивалентный эффект), это было бы здорово.

Большое спасибо за любую помощь.

4b9b3361

Ответ 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