Something like a shell option or "mode" that protects all GUI processes run within that session from being killed when I kill the shell. It would be the equivalent of using nohup for each of the processes.
One solution is to run all commands inside of a terminal multiplexer like
tmux or GNU
screen. Then if you detach from the
screen session or are disconnected from an
ssh session, the commands you are running will continue and not get a
SIGHUP. You can reattach and essentially pick up where you left off.
This method is a great way to do any remote administration where you do not want to get disconnected while doing something important or long running.