You can use the
screen tool to share a console between
two users - this is useful for remote collaborative development, and
doesn't require nearly as much bandwidth as a desktop-sharing protocol
For this document, I'll use the example of user 'Alice' creating a shared console for 'Bob' to join in on.
setting up the system
You'll need a local installation of screen, and make a few
permissions changes to allow multi-user mode. The
binary needs to be setuid-root, and the
directory needs to be at least mode
alice $ sudo chmod u+s `which screen` alice $ sudo chmod 755 /var/run/screen
Note that creating setuid-root binaries on a machine is usually not a good idea. I'd advise against doing this on a machine that hosts untrusted users.
setting up the hosting session
alice needs to run
screen and turn
'multiuser mode' on, then allow user
bob to access it.
alice $ screen
And then the keystrokes (
C-a is ctrl + a):
C-a : multiuser on C-a : addacl bob
Now the session is available to Bob to connect - all he needs is the session id. This is shown by
alice $ screen -lsand will be something like
connecting to the existing session
Once Alice has started screen and given Bob the session-id,
he can connect with
bob $ screen -S session-id -x
Then Alice's console will be available to Bob. Both users will see the output on the console, both are able to input characters.