• graphterm 0.40.1 : Python Package Index


    graphterm 0.40.1 : Python Package Index

    graphterm 0.40.1

    A Graphical Terminal Interface

    Release Notes

    GraphTerm is a browser-based graphical terminal interface, that aims to seamlessly blend the command line and graphical user interfaces. TYou 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.)

    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

    INSTALLATION

    Requirements: You will need a browser that supports Websockets, such as a recent version of Chrome, Firefox, or Safari. The GraphTerm server is written in pure Python (version 2.6+), and should run on any Unix-like system (e.g., Linux, OS X) that supports the pseudo-tty terminal device. (The browser client works on Windows, iPad, and Android as well.)

    If you have setuptools, you can install GraphTerm using the following two commands:

    sudo easy_install graphterm
    sudo gterm_setup
    

    Alternatively, you can download the tarball, untar, and execute sudo python setup.py install in the graphterm-<version> directory. You will also need to install the tornado web server, which can be downloaded from https://github.com/downloads/facebook/tornado/tornado-2.3.tar.gz

    To start the GraphTerm server and open a terminal, use the command:

    gtermserver --terminal
    

    Disclaimer: GraphTerm is currently of alpha-quality. It is known to work on Linux, Mac OS X, and the Raspberry Pi, but you may encounter various glitches.

  • 相关阅读:
    [洛谷P2742]【模板】二维凸包([USACO5.1]圈奶牛Fencing the Cows)
    [洛谷P4781]【模板】拉格朗日插值
    [洛谷P4550]收集邮票
    [洛谷P4900]食堂
    [洛谷P2057][SHOI2007]善意的投票
    [CF1083C]Max Mex
    bzoj3110: [Zjoi2013]K大数查询 【树套树,标记永久化】
    bzoj 1207: [HNOI2004]打鼹鼠 (dp)
    bzoj 1037: [ZJOI2008]生日聚会Party (dp)
    bzoj 2140: 稳定婚姻 (二分图)
  • 原文地址:https://www.cnblogs.com/lexus/p/3285633.html
Copyright © 2020-2023  润新知