Could also just source your profile in your .xsession. That's what I'm in the habit of doing.
I believe there's no need for neither login-shells nor those X-level tricks. To load the interactive environment into xterms or screen, I usually to define ENV accordingly in /etc/profile or .profile. Not sure it's the right way to also put PATH in (k)shrc, but it would also work.
/etc/profile: export ENV=/etc/shrc or ~/.profile: export ENV=/root/.shrc -- Pierre-Philipp Braun SMTP Health Campaign: enforce STARTTLS and verify MX certificates <https://nethence.com/smtp/>

