图形终端界面
项目描述
GraphTerm是一个基于浏览器的图形终端界面,旨在无缝融合命令行和图形用户界面。您可以像使用常规终端一样使用它,向后兼容xterm,并根据需要访问其他图形功能。这些功能可以通过将图形操作与命令行集成并让您内联查看图像和 HTML 输出来帮助改进您的终端工作流程。
GraphTerm 有几个时髦的特性,但其中两个最有用的实际应用是:
一种内联数据可视化工具,用于使用 Python 或 R 进行绘图,可以跨 SSH 登录边界无缝工作,具有可选的笔记本界面。(对于远程访问,它还可以用作可拆卸的终端,例如 tmux或screen。)
用于教学和演示的虚拟计算机实验室。GraphTerm 服务器可以设置在云中,并由多个用户使用他们的笔记本电脑/移动浏览器访问,并通过 Google 身份验证。实验室讲师可以 通过“仪表板”监控所有用户的终端 ,用户可以通过共享终端和笔记本相互协作。
GraphTerm 建立在两个早期项目的基础上, XMLTerm 使用 Mozilla 框架实现终端, AjaxTerm 是 AJAX/Python 终端实现。(其他最近的项目包括 TermKit 和Terminology。)
GraphTerm 终端窗口只是一个由 GraphTerm Web 服务器程序提供的网页。多个用户可以同时连接到 Web 服务器以共享终端会话。多个主机也可以连接到服务器(在不同的端口上),允许单个用户通过浏览器访问所有主机。GraphTerm 服务器充当路由器,将来自不同用户的浏览器窗口的输入发送到在不同主机上运行的适当终端(“伪 tty”)会话,并将终端输出传输回浏览器窗口。
该界面设计为触摸友好型,可与平板电脑一起使用,依靠命令重用来最大限度地减少对键盘的需求。它保留所有命令的历史记录,无论是通过键入、单击或点击输入的。它也可以使用 CSS 进行主题化。
您可以在其项目页面中找到有关使用 GraphTerm 的更多信息, 并在github 上浏览源代码。可以在屏幕截图 和这个YouTube 视频中找到 GraphTerm 的运行图像。
您可以使用 GraphTerm API 构建在终端内无缝运行的 Web 应用程序的“混搭”。示例混搭包括:
greveal : reveal.js的内联版本,用于将 Markdown 文件显示为幻灯片
gtutor : pythontutor.com的内联版本,用于可视化跟踪 python 程序
yweather : 使用 Yahoo 天气 API 显示天气
下面是一个示例屏幕截图,显示了 metro.sh 命令的输出,该命令在主终端中嵌入了六个较小的终端,运行 GraphTerm 工具链中的六个不同命令:(i) 使用 gtweet的实时 Twitter 流输出,(ii) 使用的天气信息yweather,(ii)使用greveal和reveal.js从markdown 文件中放映幻灯片,(iv)使用d3cloud和d3.js的词云,(v)使用gmatplot.py的内联图形,以及(vi)使用标准python 解释器的笔记本模式。
<figure class="align-center" style="width: 100%">安装
要求:您需要支持 Websockets 的浏览器,例如最新版本的 Chrome、Firefox 或 Safari。GraphTerm 服务器是用纯 Python(2.6+ 版)编写的,应该运行在任何支持伪 tty 终端设备的类 Unix 系统(例如 Linux、OS X)上。(浏览器客户端也适用于 Windows、iPad 和 Android。)
如果你有setuptools,你可以使用以下两个命令安装 GraphTerm:
sudo easy_install graphterm sudo gterm_setup
或者,您可以下载 tarball,解压缩,然后 在graphterm-<version>目录中执行sudo python setup.py install 。您还需要安装tornado Web 服务器,可以从 https://github.com/downloads/facebook/tornado/tornado-2.3.tar.gz下载
要启动GraphTerm服务器并打开终端,请使用以下命令:
gtermserver --terminal --auth_type=none
免责声明: GraphTerm 目前具有 alpha 质量。众所周知,它可以在 Linux、Mac OS X 和 Raspberry Pi 上运行,但您可能会遇到各种故障。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。