bash not reading files in /etc/profile.d

It should run them after a cold boot. It does that on the user login. So it runs them on graphic session startup, but won’t run them again when you start gnome-terminal.

If the user were to logout, and then login again, it should also run them at that time.

Note that the scripts are being sourced (not actually run as a separate process). And if your default shell is bash, it will only source the profile.d scripts with names ending in “.sh”. So make sure you name your script that way.

To test if your script is being sourced appropriately, have it export some funky name into the environment (say something like)

export SOME_FUNKY_NAME="hello"

And then later check in a terminal, to see if that value is in your environment.