Updates:
- You can join the Google Groups
mailing list
or follow @graphterm
on Twitter for updates.
- The latest version is 0.40.1
released June 26, 2013. 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.
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
- ystock: Using Yahoo finance API to display stock price history
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 presentations using landslide or reveal.js,
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.