使用Tornado WebSocket为xterm.js服务的终端

terminado的Python项目详细描述


这是 Xterm.jsjavascript终端模拟器 图书馆。

它是从pyxterm进化而来的, GraphTerm(作为lineterm.py)的一部分, v0.57.0(2014-07-18),最终派生自公共域Ajaxterm代码v0.11(2008-11-13)(也 在github上作为QWeb)的一部分。

模块:

  • terminado.management:控制启动虚拟终端, 将它们连接到龙卷风的事件循环,并关闭它们。
  • terminado.websocket:提供用于与通信的WebSocket处理程序 终点站。
  • terminado.uimodule:提供一个Terminal龙卷风UI Module

js:

  • terminado/_static/terminado.js:用于设置 带有WebSocket的Term.js终端。

用法示例:

importos.pathimporttornado.webimporttornado.ioloop# This demo requires tornado_xstatic and XStatic-term.jsimporttornado_xstaticimportterminadoSTATIC_DIR=os.path.join(os.path.dirname(terminado.__file__),"_static")classTerminalPageHandler(tornado.web.RequestHandler):defget(self):returnself.render("termpage.html",static=self.static_url,xstatic=self.application.settings['xstatic_url'],ws_url_path="/websocket")if__name__=='__main__':term_manager=terminado.SingleTermManager(shell_command=['bash'])handlers=[(r"/websocket",terminado.TermSocket,{'term_manager':term_manager}),(r"/",TerminalPageHandler),(r"/xstatic/(.*)",tornado_xstatic.XStaticFileHandler,{'allowed_modules':['termjs']})]app=tornado.web.Application(handlers,static_path=STATIC_DIR,xstatic_url=tornado_xstatic.url_maker('/xstatic/'))# Serve at http://localhost:8765/ N.B. Leaving out 'localhost' here will# work, but it will listen on the public network interface as well.# Given what terminado does, that would be rather a security hole.app.listen(8765,'localhost')try:tornado.ioloop.IOLoop.instance().start()finally:term_manager.shutdown()

demos directory 更多的例子。这是single.pydemo的简化版本。

使用以下命令运行单元测试:

$ nosetests

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java集合属性值   java字符串==运算符是否比较引用?   java是否存在过太多的ListView或适配器?   json获取java中类路径中下载的文件   我可以用java代码解决数据库并发问题吗?   在多个线程中使用forEach()或使用forEach()和lambdas进行java集合迭代   java输出JFrame中的整个循环   java禁用高度详细的日志记录   java在没有特定属性的对象中访问模型的值   java Smack xmpp建立连接   处理过时域对象引起的并发问题的java策略(Grails/GORM/Hibernate)   java从ObservableList中提取元素   使用图像进行java相似图像搜索   java ListView和图像:我快疯了   在Java中,如何从毫秒时间戳中提取一天的周期?   java我需要这样的设计,但我面临两个问题   java如何获取JGoodies FormLayout中的单元格大小   Spring引导生成的java War文件未部署到Weblogic 12c