问题标签 [xtermjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1365 浏览

javascript - 如何使用 xterm.js 向 AWS 会话管理器 websocket url 发送命令?

我有一个由 AWS 创建的 websocket url。URL 由 aws ssm start session 使用 .net sdk 创建。开始会话方法给了我 streamUrl、令牌和会话 ID。URL 格式如下:

在“sessionidhere”位置有我无法共享的实际会话 ID。

我想使用xterm.js在网络上打开终端。我读过 xterm.js 可以连接到 websocket URL、发送消息和接收输出。

我的 javascript 代码在这里:

现在,会话正在打开,我收到建立连接的警报。它正在成功连接,但是每当我尝试发送命令时,都会通过说“打开数据通道的请求不包含令牌”来关闭连接。我尝试以 3 种方式发送命令。

首先是:

第二:

但面临同样的错误,即打开数据通道的请求不包含令牌,连接死亡

第三:

第三,我没有得到任何错误,但也没有得到输出......有人可以帮忙吗?

0 投票
1 回答
116 浏览

html - 流式传输没有视频的虚拟终端

如果我想在我个人计算机上的虚拟终端中嵌入的文本编辑器上直播一些工作,我可以在网络上流式传输包含它的窗口的视频。

但由于信息主要由一堆字符组成,可能带有一些颜色和格式,我认为视频是对资源、带宽和技术的浪费。

您对此有何建议,是否有一些服务器在某处实施该解决方案?

要求是:

  • 流必须几乎是实时的(每秒至少更新 1 次,延迟不超过 1 秒)
  • 观众只能使用网络浏览器访问流媒体(他们身边没有其他软件),只读(不与流媒体或我的终端交互)
  • xterm或被urxvt支持的功能
  • 所有必要的软件(流媒体客户端和潜在的服务器端)都是开源的

欢迎就此类工具与视频流相比的技术优势发表评论。

0 投票
0 回答
198 浏览

javascript - 元素高度超过了使用 codemirror 和 xterm.js 的网格布局限制

我正在尝试将 CodeMirror 和 Xterm.js 放在 GridLayout 中,如下面的代码。我在这里指定1fr 200px 80pxgrid-template-rows但我遇到了问题。

出现的问题

  1. 如果 CodeMirror 文本区域包含足够的文本,则高度会随着文本量的增加而增加。我希望显示滚动条的行为不会超出1fr.

  2. xterm.js 伸出容器。xterm.js 伸出容器。我希望 xterm.js 适合grid-template-rows.

我该如何解决这些问题?谢谢你。

0 投票
0 回答
170 浏览

javascript - 如何在 xterm.js 中创建链接

我正在使用 xterm.js 编写一个在xterm.js终端上显示结果的报告工具。我希望写入终端的这些测试结果中的一些是链接,当按下这些链接时,我可以触发某种 JavaScript 函数来处理我的下一步。我正在查看文档,发现一个名为的界面ILink据说可以满足我的需求,但我不知道如何使用它。xterm.js 有这样的能力吗?

0 投票
0 回答
111 浏览

javascript - 在 xtermjs 上将所有按键事件设为 ctrlKey:true

我使用以下方法检查所有按键:

目前,我按下任何键ctrlKey的值将取决于我按下与否。例子:

任何按下任何键的方法都将更改为ctrlKey:true?我想为移动用户创建控制按钮助手。所以当助手活跃时总是打开控制。

我试图直接改变使用e.domEvent.ctrlKey=true但不工作

0 投票
0 回答
52 浏览

angular - 带有 OCLIF 的网页中的终端窗口

我有一个带有 OCLIF 的现有 cli。我想将 cli 嵌入到 Angular Web 应用程序中。这可能吗?我该如何开始呢?我开始研究 xterm.js。这两种技术可以结合起来吗?如果不是 OCLIF,我可以使用哪些其他库在网页中创建 cli 窗口?

0 投票
2 回答
1222 浏览

xtermjs - 将数据写入终端时如何处理 xterm.js 中的新行?

我正在尝试在 xterm.js 中使用换行符输出字符串,但它以一种奇怪的格式显示输出。我需要像在实际终端中一样打印输出。

从'xterm'导入{终端};

我附上了图片以供参考我面临的问题。

换行符应该使文本的另一部分从头开始,就像在实际终端中一样。但它在左边留下了一些空间。

https://i.stack.imgur.com/IOcpW.png

0 投票
0 回答
664 浏览

javascript - xterm.js FitAddon:最大宽度和 textarea 换行

我正在尝试使用 xterm.js 和 fit-addon 创建一个全尺寸终端。这是我的代码:

在图片中,您可以看到问题:

  1. 即使remote-shelldiv 看起来是全宽的,xterm 的宽度也是有限的。
  2. 达到 xterm 宽度限制后,没有换行。该行只是“覆盖”以前的内容(注意光标的位置)。

在此处输入图像描述

0 投票
2 回答
1223 浏览

javascript - 将终端输出实时显示到网页上

我正在尝试创建一个网页,用户将在其中按下一个按钮,它将在 div 中显示的一些代码发送到将要执行的终端,然后我希望该代码的实时输出显示在终端像我的页面上的窗口。

我已经研究了一些方法来做到这一点,但还没有真正找到任何允许这种类型用例的方法。

我看到了一种可以在网页上显示终端的方式,如此处所述使用 xterm.js 但似乎没有太多关于如何将其与实际终端链接以显示实时输出的文档。但是,我假设它是通过某种形式的网络套接字来捕获输出的。

我还看到了如何使用 node.js 中的 child_process.exec 向终端发送命令的方法,但我正在努力寻找将两者联系在一起的任何方法。

我不希望用户能够从页面上的终端窗口进行交互或运行代码,我只想在他们按下按钮时显示代码的输出。

有谁知道可以促进这种用例的任何技术?可能是 Python 中的东西,但我的网页目前使用 html 和 javascript。我知道仅使用客户端代码是不可能的,我需要一种服务器端语言,但最好是与 javascript 很好地集成的东西。

谢谢

0 投票
1 回答
1028 浏览

xtermjs - 如何结合 node-pty 和 xterm

我使用服务器上的 node-pty、客户端上的 ng-termianl (xterm.js) 和用于通信的 socket.io 向我的 Web 应用程序添加了一个终端。我基本上可以正常工作,但我有一些问题,也许我让事情变得复杂,所以这里有一些问题:

  1. 我需要在 xterm 中实现哪些任务以及我应该期望 node-pty 处理什么。
  • 创建一个历史缓冲区来处理向上/向下箭头。
  • 创建终端提示符
  • 手左右箭头
  1. 在 node-pty 中列出数据事件时,我得到了回显命令、响应和新的终端行。过滤掉任何不是对发出命令的响应的数据事件的最佳方法是什么?有时回显的命令是

  2. 如何为 node-pty 列数选择一个值?pty 列的数量是否需要与 xterm 中的列数匹配?如果用户在 xterm 中键入的命令很长,则回显的命令会在发出的命令的 pty 回显中混乱。