Features/Terminal Sharing

Summary

This feature represents ShareTerm, an Activity providing a shareable version of Terminal so that users can interact over the network at a single command prompt.

Owner

  • Email: bmschwar@fas.harvard.edu

Current status

  • Targeted release:
  • Last updated: 2009-07-22
  • Percentage of completion: 100%

Detailed Description

ShareTerm is a variant of Terminal designed to enable collaborative work at the command prompt. ShareTerm works by starting an unprivileged SSH daemon and a GNU Screen session. The SSH daemon is tunneled over a Telepathy Stream Tube. To avoid the need for passwords, public-key authentication is used. The system should support an arbitrary number of participants, though at the moment the sshd is configured with a maximum of 10.

Benefit to Sugar

I hope that ShareTerm will be useful for teaching UNIX and programming skills to novices. For experts, the window management of Screen will be especially useful.

Scope

The only change required to Sugar is to add a dependency on GNU Screen and OpenSSH, which are available in every distro's package system. I think ShareTerm may merit inclusion in Fructose, but the important thing is to make Sugar-0.86 depend on Screen.

How To Test

  • Install the bundle from:
Shareterm
  • Install GNU Screen on your system. MANDATORY. NOTE: GNU Screen is _not_ installed by default on many Sugar systems, including OLPC's XO distributions.
  • Make sure you are running with Rainbow enabled!
  • Start ShareTerm from the Sugar UI, and then share it like any collaborative Activity.

User Experience

Shared Terminal. Each user can type into the same shared instance from different machines, and their keystrokes will all register. The instance actually runs on the initiator's computer.

Dependencies

GNU Screen and OpenSSH. If security is a consideration, then Rainbow is an important requirement as well. Running ShareTerm allows any friend who joins the activity to run arbitrary commands on your computer. Rainbow ensures that these commands are run as a restricted, unprivileged account. If you are running without Rainbow, you should be sure to invite only people you trust to your ShareTerm!

Contingency Plan

Tell people to install GNU Screen and OpenSSH manually before installing ShareTerm, or possibly try to package static binaries into the .xo. Neither is ideal, especially because ShareTerm is most appropriate for users who are not yet comfortable with the command line.

Documentation

http://lists.sugarlabs.org/archive/sugar-devel/2009-May/014165.html

Release Notes

No significant changes are noteworthy here.

Comments and Discussion