If you're fine with sitting in a terminal, you can set up a tmux session, change the group permissions on the socket for read-only, make a user that triggers attaching to the session read-only on login and you can do a coding demo or something right there. It would require a decent terminal on the client side, but xterm is pretty ubiquitous these days.