Попробуйте ввести определение переменной в .profile вместо .bashrc. У последнего есть утверждение около вершины, которое заставляет его выйти очень рано, когда выполняется неинтерактивной оболочкой. Выйдите из системы и вернитесь, чтобы узнать, работает ли это.
Также не забудьте добавить export следующим образом:
export TMPDIR="$HOME/tmp"
Если это не сработает, измените (он находится в /usr/share/applications), так что его строка Exec говорит:
Exec=sh -c 'TMPDIR="$HOME/tmp" emacs'