"And you do introduce another iceberg: Tk and X-server."
I'm not sure what you mean.
A daunting heap of problems in front of you; and an even greater mass, hidden from sight, waiting to sink your ship? :-)
I write a lot of Tk programs: many posted here; many more for personal use.
I don't have any problems with the setup I described above.
I do have this file, in my home directory, which might help with some of your problems.
# .bash_vars
# To be sourced by .bash_profile.
# Use for potentially volatile environment variables.
# Saves having to make repeated edits to .bash_profile.
# Also, can be sourced independently.
set -a
# For X11
DISPLAY=:0
LIBGL_ALWAYS_INDIRECT=1
# ... irrelevant personal variables ...
# For Tk
XFT=1
# For Git
SSH_ASKPASS=
set +a