Recently I inherited a RedHat server, which had system-wide user profile configured something like this:

TMOUT=300
readonly TMOUT
export TMOUT

This was extremely irritating. Spending a few momnents looking at docs and session would time out. The same was true for screen, detached sessions would close. All in all virtually nothing could be done.

Then I came across this post, which I am basically replicating here, in case the original disappears.

After logging in I would do the following:

somedude@ultra:~$ exec env -u TMOUT ksh

This will fire up ksh with TMOUT variable unset. After that I could use screen just fine, detaching and reattaching without timeout or screen session getting terminated.