screen is a virtual terminal manager and a lot more besides. One of my (un)usual tricks is to use it as a ZTerm replacement:
screen /dev/tty.Bluetooth-Modem 38400
Resources
- tmux, my replacement of choice.
 - Stupid screen tricks
 - Freshmeat page
 - Documentation
 - dtach, a simpler program to handle long-running processes.
 - detachtty, another alternative that works in line-at-a-time mode.
 
Relaunch last screen session via .bash_profile
if [[ `screen -list | grep Detached | wc -l` == 0 ]]; then
  if [ ! ${SSH_TTY} ]; then
    exec screen
  else
    screen
  fi
else
  if [ ! ${SSH_TTY} ]; then
    exec screen -dRR
  else
    screen -dRR
  fi
fi
clear
(via)