#!/bin/sh
+
+# Exports here get inherited by X, that is the only reason to do things
+# here. However, they do not get sent with sl().
+
if [ -f $HOME/path-add-function ]; then
. $HOME/path-add-function
path-add /usr/sbin /usr/local/sbin /a/exe /a/opt/bin
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
# 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
+ # comm --nocheck-order -13 - $_sysenvnames >$_unsetnames
# while read -r unsetname; do
# while read -r sysenv; do
# case "$sysenv" in
# 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
- export SSH_AUTH_SOCK="$_file"
- break
- fi
-done
-
-# in t11, user ssh-agent once again stopped working, it isn't started anymore
-# by i3. So, enough is enough, I just made a service that will try to
-# 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
- export SSH_AUTH_SOCK=/run/openssh_agent
- elif [ "$EUID" = 1000 ]; then
- export SSH_AUTH_SOCK=$HOME/openssh_agent
+
+# i use the x11 prompt for ssh key use which doesnt work
+# within an ssh session (perhaps there is some way).
+# Anyways, there is usually no need for an agent to
+# do a 1-off ssh from a remote machine.
+if ! test "$SSH_CLIENT"; then
+ # 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
+ export SSH_AUTH_SOCK="$_file"
+ break
+ fi
+ done
+
+ # in t11, user ssh-agent once again stopped working, it isn't started anymore
+ # by i3. So, enough is enough, I just made a service that will try to
+ # 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
+ export SSH_AUTH_SOCK=/run/openssh_agent
+ elif [ "$EUID" = 1000 ]; then
+ export SSH_AUTH_SOCK=$HOME/openssh_agent
+ fi
fi
fi
-
# background:
# ubuntu has 002 for non-system users, debian has 022. 002 makes groups
# be rw instead of r.
# group, so if you copy files there with exact perms, that is probably
# not what you want. I don't use a system like that, so I don't
# care.
+#
+# Note: duplicated in .bashrc
umask 022
# this is how we could test for non-system user