Skip to main content

A Graphical Terminal Interface

Project description

NOTE: This version is OBSOLETE. Download the latest version from http://pypi.python.org/pypi/graphterm

GraphTerm is a browser-based graphical terminal interface, that aims to seamlessly blend the command line and graphical user interfaces. The goal is to provide a fully backwards-compatible terminal emulator for xterm, with additional graphical extensions that can be accessed as needed. GraphTerm builds upon two earlier browser-based terminal projects, XMLTerm, and AjaxTerm. (Another recent project along these lines is TermKit.)

A GraphTerm terminal window is just a web page served from the GraphTerm web server program. Multiple users can connect simultaneously to the web server to share terminal sessions. Multiple hosts can also connect to the server (on a different port), allowing a single user to access all of them via the browser. The GraphTerm server acts as a router, sending input from browser windows for different users to the appropriate terminal (“pseudo-tty”) sessions running on different hosts, and transmitting the terminal output back to the browser windows.

This flexible, networked implementation allows for several possible applications for GraphTerm, such as:

  • an enhanced terminal that combines the command line with basic GUI operations like navigating folders, file drag-and-drop, displaying images etc.

  • 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.

The interface is designed to be touch-friendly for use with tablets, relying upon command re-use to minimize the need for a keyboard. It preserves history for all commands, whether entered by typing, clicking, or tapping. It is also themable using CSS.

You can find more information on using GraphTerm in its project page and browse the source code on github. Images of GraphTerm in action can be found in screenshots and in this YouTube Video.

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.

https://github.com/mitotic/graphterm/raw/master/doc-images/gt-metro.jpg

NOTE: This version is OBSOLETE. Download the latest version from http://pypi.python.org/pypi/graphterm

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphterm-0.39.2.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

graphterm-0.39.2-py2.7.egg (2.1 MB view details)

Uploaded Egg

File details

Details for the file graphterm-0.39.2.tar.gz.

File metadata

  • Download URL: graphterm-0.39.2.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for graphterm-0.39.2.tar.gz
Algorithm Hash digest
SHA256 c76f444d35251cc383547a4aa74439395dd7c14a1f76bac1cc57920c78feb704
MD5 4fde319db78f518ae9b939f0323ef5ea
BLAKE2b-256 3c54d3e98db30d0b5d8c34d5535e56f993ed93cfb3271accaafbc2f2f067809c

See more details on using hashes here.

File details

Details for the file graphterm-0.39.2-py2.7.egg.

File metadata

File hashes

Hashes for graphterm-0.39.2-py2.7.egg
Algorithm Hash digest
SHA256 40be2c30030b9d1c8d71079bb21e077948f809b7f02b793de0c31434ff512799
MD5 fd64c1e04a8b53097a82efa5aefb35d2
BLAKE2b-256 fcb97c0005c7aa8bfca16de55a7847ec545b8aab5ffd7e0518ea17e9da2e7eca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page