While there are quite a few options for collaborating visually in a remote work setting and remote desktop solutions are ten a penny there are surprisingly few options for instant live collaboration in text-based environments, i.e. terminals or command-line interfaces.
One such option for instant terminal sharing is tmate. tmate for instance allows you to have remote pair programming sessions via the terminal or work collaboratively on a command-line interface.
It achieves this by returning a connection string such as
ssh [email protected]. This connection string in turn can be used by others to attach to the terminal session you’ve just created. Both read-write and read-only connections are possible. In general, all users attached to the same session will see each other’s input and the terminal’s subsequent output. Though collaboration is its main use case pure remote access is possible, too.
By default tmate uses its own servers. However, hosting your own tmate servers (for obvious privacy and security reasons) is possible as well by using tmate-ssh-server.
Alternatives to tmate with similar features include