O zprofile ( /etc/zsh/zprofile ) no Ubuntu contém:
# /etc/zsh/zprofile: system-wide .zprofile file for zsh(1).
#
# This file is sourced only for login shells (i.e. shells
# invoked with "-" as the first character of argv[0], and
# shells invoked with the -l flag.)
#
# Global Order: zshenv, zprofile, zshrc, zlogin
emulate sh -c 'source /etc/profile'
/etc/profile , por sua vez, origina .sh arquivos em /etc/profile.d programaticamente:
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
/etc/profile.d não é especial em nenhum outro aspecto.
As adições ao PATH que você faz em /etc/profile.d devem afetar os shells de login do zsh. E, para usuários da GUI, as fontes LightDM /etc/profile , portanto, todas as adições ao PATH devem estar disponíveis para qualquer programa que não o redefina, incluindo zsh .
IMO Todo o sistema adições para PATH deve ser feito usando pam_env (em /etc/environment ou /etc/security/pam_env.conf ou arquivos personalizados especificados por uma regra PAM adicional).