fi
fi
-# and broken again. see /usr/lib/systemd/user-environment-generators/90gpg-agent
-export GPG_AGENT_INFO=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent:0:1
+# 2020: and broken again. see /usr/lib/systemd/user-environment-generators/90gpg-agent.
+# 2022: not sure exactly what this fixed, but gpg seems to work now without it.
+#export GPG_AGENT_INFO=$XDG_RUNTIME_DIR/gnupg/S.gpg-agent:0:1
# and now trisquel9 + mate + i3 has broken ssh agent. I've had to fix
# ssh or gpg agent like 10 times in different distros, and once again, i
# but not override existing things because theres stuff like PWD. This
# doesn't set SSH_AGENT_PID, but apparently its not needed anymore.
# Note: what a huge pita to write this in posix shell.
-if test "$EUID" && [ "$EUID" != 0 ]; then
- _sysenv=$(mktemp)
- _sysenvnames=$(mktemp)
- _unsetnames=$(mktemp)
- if systemctl --user show-environment >$_sysenv 2>/dev/null; then
- grep -o '^[^=]*' $_sysenv | sort > $_sysenvnames
- env -0 | grep -zo '^[^=]*' | xargs -0 printf "%s\n" | sort | \
- comm --nocheck-order -13 - $_sysenvnames >$_unsetnames
- while read -r unsetname; do
- while read -r sysenv; do
- case "$sysenv" in
- "$unsetname"*) eval export "$sysenv" ;;
- esac
- done < $_sysenv
- done < $_unsetnames
- rm -f $_tmpf
- fi
-fi
+# update: disabled this hackery since I'm not using it in t11
+# if test "$EUID" && [ "$EUID" != 0 ]; then
+# _sysenv=$(mktemp)
+# _sysenvnames=$(mktemp)
+# _unsetnames=$(mktemp)
+# if systemctl --user show-environment >$_sysenv 2>/dev/null; then
+# grep -o '^[^=]*' $_sysenv | sort > $_sysenvnames
+# env -0 | grep -zo '^[^=]*' | xargs -0 printf "%s\n" | sort | \
+# comm --nocheck-order -13 - $_sysenvnames >$_unsetnames
+# while read -r unsetname; do
+# while read -r sysenv; do
+# case "$sysenv" in
+# "$unsetname"*) eval export "$sysenv" ;;
+# esac
+# done < $_sysenv
+# done < $_unsetnames
+# rm -f $_tmpf
+# fi
+# fi
+
# and it seems that if we log into mate, it screws up the systemd env var anyways.
for _file in $(pgrep -a '^ssh-agent$' | sed -r 's/.*-a *([^ ]+).*/\1/'); do
if test -O "$_file"; then
# start it all the time for the user. If the var isn't set by the above,
# just set them to the values I know are in the service.
if ! test "$SSH_AUTH_SOCK"; then
- if [ "$EUID" == 0 ]; then
+ if [ "$EUID" = 0 ]; then
export SSH_AUTH_SOCK=/run/openssh_agent
- else
- export SSH_AUTH_SOCK=/run/user/1000/openssh_agent
+ elif [ "$EUID" = 1000 ]; then
+ export SSH_AUTH_SOCK=$HOME/openssh_agent
fi
fi