Файл .bash_profile (а также файл .profile) загружается для оболочек входа в систему, оболочки без входа в систему используют .bashrc (без символа _). В файле .screenrc есть строка, которая сообщает экрану, какую оболочку создавать при запуске окна экрана (когда не запускается определенная программа в качестве оконного приложения). В моем файле .screenrc это так (включая комментарии):
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
Проверьте файл .screenrc и убедитесь, что перед строкой оболочки есть черточка. Имея этот символ тире и форсируя входную оболочку, вы получите ваш .bash_profile. Переменная $ SHELL в моем .screenrc использует значение оболочки, предоставленное оболочкой, которая запускает экран (обычно для меня это bash).
В случае, если вам интересно, самое большое различие, которое я смог обнаружить между входящими в систему и не входящими в систему оболочками, состоит в том, что оболочка, не входящая в систему, обычно вызывается для выполнения сценариев.