I have serveral customized environment variables and functions in my ~/.bash_profile which I would like to be called automatically when I start my screen session with screen -D -R, but apparently adding source ~/.bash_profile in ~/.screenrc doesn't solve my issue.
On every new screen I have to manually source the bash_profile.
I have noticed that this file can't be found while creating a new screen (when you create new screen there is the the line in the bottom showing what commands are executing and it returns that the file can't be found.)
~/.bash_profileis only run by login shells.~/.bashrcis run by other interactive shells, such as those started byscreen.~/.screenrcis a screen configuration file, and is not used to configure bash.Put things that should be set up per shell in
~/.bashrc, and addsource ~/.bashrcto your~/.bash_profile.