My previous employer did not allow non public source code on a laptop. My solution was to run emacs inside of a screen session (with screen's C-a mapped to C-t a trick I learned from a colleague since C-t twiddle character isn't very useful in emacs). This worked well even using terrible cellular wifi and was much better than remote desktop since the amount of data sent per keystroke will typically be quite small.
Without screen this almost works but emacs could hang sometimes when the connection got dropped which screen solves.
I use M-x shell for most shell commands. This provides "infinite" scrollback, easy to grab output into the kill ring, etc. It's kind of like a temporary notebook (though easy enough to save). When I need a full terminal such as gdb -tui, I use a more traditional terminal emulator like gnome terminal.