There is provision in the RVC protocol for the client to control the console at the server (but the server may or may not allow it).

This allows the console input to come from the RVC client instead of (or as well as) an operator situated at the console. The model is of raw terminal input: characters are read from the console at the client end in raw mode, and written in raw mode at the server end.

This results in some differences between using an RVC client and standing in front of the console, but it probably a lot easier to implement on a lot of platforms.