2014-01-29 7 views
17

Ich habe keine Frage dieser Art zuvor gestellt, so dass dies möglicherweise nicht die richtige Seite dafür ist.Verhindern, dass git auftaucht gnome Passwort-Feld

Ich verwende das Xfce-Terminal im Dropdown-Modus mit einem Hotkey verbunden. Es schließt sich, wenn ein anderes Fenster aktiv wird, was gut ist. Was nicht in Ordnung ist, ist, dass, wenn ich git benutze und es an eine https-URL ziehe oder drehe, es eine lustige Box öffnet, um mich nach meinem Passwort zu fragen, anstatt es direkt in die Kommandozeile eingeben zu lassen.

Normalerweise googelte ich herum, um die Antwort darauf zu finden, aber leider versuchen die meisten Leute, git dazu zu bringen, nach einem Passwort zu fragen, anstatt ein Dialogfenster zu sperren, also ist das für mich schwer zu googeln (vertraue mir Ich habe es seit ein paar Monaten mal ausprobiert, wenn ich genervt bin).

Wie kann ich verhindern, dass git irgendwelche grafischen Fenster für Dinge wie Passwörter öffnet? Git sagt, dass es /usr/lib/seahorse/seahorse-ssh-askpass für die Abfrage des Passworts verwendet, also, wenn es einige Konfigurationsoptionen gibt, um zu verhindern, dass es das benutzt (oder das einen äquivalenten Effekt hat), wäre das großartig.

Vielen Dank für jede Hilfe.

+0

Ich denke, diese Frage für Stack-Überlauf in Ordnung ist, da es sich um ein Entwickler-Tool (git) ist. –

Antwort

20

Es scheint, als ob git wahrscheinlich die Umgebungsvariablen GIT_ASKPASS oder SSH_ASKPASS verwendet, um herauszufinden, ob es ein separates Programm verwenden sollte, um nach Passwörtern zu fragen.

Versuchen Sie, unset GIT_ASKPASS oder unset SSH_ASKPASS auszuführen. Versuchen Sie nun, aus einem Git-Repository zu ziehen oder zu ziehen. Wenn dies funktioniert, fügen Sie .bashrc, .zshrc oder die Datei, die Sie zum Ausführen eines Befehls beim Start Ihrer Shell verwenden, den entsprechenden Befehl hinzu.

Sie können auch den Wert von gits core.askpass Einstellung mit git config --global core.askpass YOUR_PREFERRED_PROMPT_COMMAND überschreiben.

Relevante Informationen aus dem git-config man page:

core.askpass

Einige Befehle (zB SVN und http-Schnittstellen), die interaktiv nach einem Passwort fragen kann gesagt werden, ein externes Programm über gegeben verwenden der Wert dieser Variablen. Kann durch die Umgebungsvariable GIT_ASKPASS außer Kraft gesetzt werden. Wenn nicht festgelegt, greifen Sie auf den Wert der Umgebungsvariablen SSH_ASKPASS zurück, oder andernfalls ein einfaches Kennwort . Das externe Programm soll eine geeignete Eingabeaufforderung als Kommandozeilenargument erhalten und das Passwort auf seinen STDOUT schreiben.

Originalquelle:http://kartzontech.blogspot.com/2011/04/how-to-disable-gnome-ssh-askpass.html

+0

Gibt es eine Möglichkeit, Git zu sagen, SSH_ASKPASS zu ignorieren, wenn es gesetzt ist? Ich meine, welches Programm wird aufgerufen, wenn SSH_ASKPASS nicht gesetzt ist? – naught101

+0

Es wird nach 'GIT_ASKPASS' und dann nach 'core' gesucht.askPass', dann 'SSH_ASKPASS', und dann werden Sie auf dem Terminal aufgefordert. Es ist möglich, dass Ihre grafische Umgebung eine dieser Variablen auf einen ihrer Standardberechtigungshelfer setzt. Auf dieser Manpage finden Sie weitere Informationen: https://www.kernel.org/pub/software/scm/git/docs/gitcredentials.html –

+0

Ich weiß, was ich meine ist, was heißt, wenn keine dieser Variablen sind einstellen? Weil Sie das einfach zu "core.aspass" hinzufügen könnten und den "SSH_ASKPASS" alle zusammen ignorieren könnten. – naught101

0

unset DISPLAY, wenn git Befehle ausgeführt wird, der das Kennwort benötigen könnten, und gnome-ssh-askpass eine Textterminal Aufforderung verwenden.

Zum Beispiel:

DISPLAY= git push