我认为如果我们能够在终端中渲染 html 和 javascript 并与之交互,那就太棒了。这个想法是在命令行中渲染按钮和其他交互式小部件(例如文件树),并能够使用鼠标与它们交互。它不一定必须构建在 html/js 上,但这些技术似乎符合目的,并且可能是最先进的。
常规浏览器的优点当然是一切仍然基于终端,因此您可以完全控制底层系统并可以直接运行命令。我宁愿想象使用诸如tree .
在交互式树小部件中显示当前目录和子目录之类的命令,您可以通过鼠标单击展开。
有没有支持渲染 html 页面并可以运行 javascript 的终端模拟器?
答案1
你所描述的听起来有点像笔记本,最近在Python等交互式编程中很流行。Jupyter笔记本支持相当多不同的内核,甚至还有两个用于 bash,calysto_bash
和bash_kernel
。
Jupyter Notebook 的开发始于 IPython,这是一种在标准终端中运行的增强型 Python shell,但在现代形式中,笔记本的渲染是基于 Web 技术的。它通常通过浏览器运行,但也有独立的安慰。
但是,为了实现您想要的功能,命令行程序必须以内核可以解释的格式生成输出,然后内核将其以特殊的 JSON 格式发送到笔记本渲染器。
据我所知,bash_kernel
通过特殊的 bash 函数仅支持图像显示display
(请参阅这里进行演示)。但肯定有可能将这些功能扩展到其他形式“丰富的输出”。
答案2
遵循 Linux 和 UNIX 世界中深受喜爱的 KISS 逻辑,终端仿真器就是终端仿真器,仅此而已。
你混合了几种东西:
你想要命令行程序来实现
point and click
逻辑...Linux 中已经有这种命令了。例如,Midnight commander
是一个基于文本的文件管理器ncurses
。请注意(感谢上帝)不需要HTML/JS
在 shell 中添加一些养眼的东西。如果你真的想浏览网页,那么你需要的是命令行浏览器。现有几种命令行浏览器:
尽管如此,我的观点是,您梦想的那种功能并没有真正遵循命令行的“精神”。如果您想单击,请使用 GUI。命令行主要用于不想通过使用鼠标和单击来浪费时间的高级用户。
答案3
答案4
有多姆术语这是做什么的,请参阅此处的第二行,其中包含通过 HTML 生成的图像: