gpg-agent aus der xinitrc heraus starten

danvari

Well-Known Member
Hallo Leute :)!

Bin gerade dabei bei mir gpg einzurichten. Dazu will ich den gpg-agent aus der xinitrc heraus starten. Wenn ich

Code:
eval `/usr/local/bin/gpg-agent --daemon --csh`

in einem Terminal starte, läuft der Daemon im Hintergrund + die Variable GPG_AGENT_INFO wird gesetzt. Wenn ich dies in der xinitrc eintrage, startet der Daemon zweimal (ps aux | grep gpg-agent) + die Variable wird nicht gesetzt. Ein Verhalten, das ich nicht nachvollziehen kann.

Hier mal meine xinitrc zur Vollständigkeit halber:

eval `/usr/local/bin/gpg-agent --daemon --csh` &
transmission-daemon &
numlockx &
setxkbmap -option caps:escape -layout us -variant altgr-intl &
exec ssh-agent dbus-launch i3
 
Evtl muesstest du auch --sh angeben anstelle von --csh je nachdem welche Shell deine xinitrc ausfuehrt. Das muss nicht zwangslaeufig deine Login Shell sein.
 
Und du startest X wirklich mit startx?
Ja sicher ;)

Evtl muesstest du auch --sh angeben anstelle von --csh je nachdem welche Shell deine xinitrc ausfuehrt. Das muss nicht zwangslaeufig deine Login Shell sein.
Das werde ich heute abend mal probieren. Wenn ich mich doch aber in der Konsole anmelde, habe ich ja meine Login-Shell, tcsh. Das sollte beim "startx" auch so bleiben eigentlich.
 
Alsoo..

das mit dem doppelten Agent war wohl ein Fehler meinerseits. Ein "--sh" statt "--csh" bricht leider mit der Meldung ab, dass es das Programm nicht geben würde.

Was ich auch noch nicht so ganz verstehe:
Wenn ich das ganze in der Konsole ausführe, also
Code:
> eval `/usr/local/bin/gpg-agent --daemon --csh`
> printenv | grep PG
GPG_AGENT_INFO=/tmp/gpg-Knke0q/S.gpg-agent:1888:1
dann macht er ja alles richtig, allerdings gilt das nur für das Terminal, in dem dieser Befehl ausgeführt wurde. Ein
Code:
setenv GPG_AGENT_INFO /tmp/gpg-JtjPBT/S.gpg-agent:1912:1;
ändert mir nur lokal die Variable, in anderen Terminals wird diese nicht gesetzt. Das wird vermutlich auch mein Problem sein. Wie kann ich dem System sagen, dass diese Variable global gesetzt sein soll?
 
Zurück
Oben