# code.mindmeldr.com /graphterm

### Navigation

- index
- Docs Home |
- Contents »

Updates:

1. You can join the Google Groups mailing list or follow @graphterm on Twitter for updates.
2. The latest version is 0.50.1 released April 17, 2014. See the Release Notes

`GraphTerm` is a browser-based graphical terminal interface, that aims to seamlessly blend the command line and graphical user interfaces. You can use it just like a regular terminal, backwards-compatible with `xterm`, and access the additional graphical features as needed. These features can help impove your terminal workflow by integrating clickable folder navigation with command line operations and letting you view image/HTML output without a separate window.

The GraphTerm server can be configured to support multiple users, to create a browser-based virtual computer lab for teaching and collaboration. The "lab instructor" can access all the terminal sessions via a "dashboard" and monitor the progress of each user in carrying out assigned activities, such as entering code in a "notebook". Lab users can collaboratively view and enter shell commands in each other's terminals, edit files and notebooks etc.

You can use the GraphTerm API to build "mashups" of web applications that work seamlessly within the terminal. Sample mashups include:

- `greveal`: Inline version of `reveal.js` to display Markdown files as slideshows
- `gtutor`: Inline version of pythontutor.com for visual tracing of python programs
- `yweather`: Using Yahoo weather API to display weather

GraphTerm builds upon two earlier projects, XMLTerm which implemented a terminal using the Mozilla framework and AjaxTerm which is an AJAX/Python terminal implementation. (Other recent projects along these lines include TermKit and Terminology.)

Possible applications of GraphTerm include:

- an enhanced terminal that combines the command line with basic GUI operations like navigating folders, file drag-and-drop, displaying images etc. With tappable links, the interface is designed to be touch-friendly for use with tablets.
- an inline data visualization tool to view output from plotting libraries like `matplotlib`.
- a notebook interface for data analysis and documentation (like the `Mathematica` or `IPython` notebook interface, but at the shell level).
- a virtual computer lab for teaching and demonstrations. The GraphTerm server can be set up in the cloud and accessed by multiple users using their laptop/mobile browsers. You can then share shell commands and presentations, trace code execution, interact with other users, etc.
- a collaborative terminal that can be remotely accessed by multiple users simultaneously, to run programs, edit files etc. It can also be used as a detachable terminal multiplexer, sort of like GNU `screen` or `tmux`

You can find more information in the Getting started with GraphTerm section (or in the README file). Images of GraphTerm in action can be found in screenshots and in the demo videos.

Here is a sample screenshot showing the output of the `metro.sh` command, which embeds six smaller terminals within the main terminal, running six different commands from the GraphTerm toolchain: (i) live twitter stream output using `gtweet`, (ii) weather info using `yweather`, (ii) slideshow from markdown file using `greveal` and reveal.js, (iv) word cloud using `d3cloud` and d3.js, (v) inline graphics using `gmatplot.py`, and (vi) notebook mode using the standard python interpreter.

### Navigation

- index
- Docs Home |
- Contents »