问题标签 [terminal-emulator]

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 投票
2 回答
8525 浏览

linux - 编写 Linux 终端模拟器

我想编写一个 x11 终端仿真器,但我不知道我应该如何生成并与 shell 通信,是否有任何基本(伪或 C)代码?就像要创建什么样的 PTY、如何将 shell 绑定到它、我必须捕获或发送什么信号等等。真的不想对整个 xterm 源进行排序。

编辑:哦,我想实现一种与其中的任何应用程序进行通信的方式,我应该如何进行功能发现?“客户端”中的一些隐藏的 ansi 序列,希望它不会与其他终端仿真器发生冲突?一些环境变量,希望它不会与“客户端”发生冲突或被 shell 删除?

0 投票
1 回答
2190 浏览

java - Do arrow keys don't work in terminal emulation vai ssh

While ssh'ing in my own machine, I am able to use Ctrl+P for command history in the terminal emulator. I wanted to know is it possible to make arrow keys function as well. I am ssh'ing through a program, not through the command ssh user@host

Why I am asking this, is because, before extracting individual characters from the byte array, I am printing it. When a character is pressed, the byte array shows a lot of numbers, but when I press an arrow key, it prints nothing. I have to make up arrow key to function as Ctrl+P works.

Please note that the SHELL value is /bin/bash. Also, I have experimented with these values of TERM variable : dumb, vt100, xterm, linux .For secure login, I am using Ganymed SSH library.

UPDATE: (with suggestions from tripleee)

A little snippet of keyboard processing logic is as follows:

The input comes in this way:

The Key Listener code is :

Thanks.

0 投票
1 回答
2644 浏览

serial-port - 通过串行接口在终端模式下的编辑器:显示不良

我有一个Wandboard目标,我通过它的串行端口与之通信。我可以用 minicom 登录和发送命令,终端看起来很正常。

但是,每当我尝试在终端中使用更高级的编辑器(nano、vi、emacs)时,这些行都被弄乱了。例如,在 emacs 中,内容在启动后就可以了,但是如果我开始将光标移动到行号周围,则会出现在错误的位置。如果我尝试打开文件,提示会显示在缓冲区的中间。

我想我必须更改 minicom 的一些设置,但我找不到。

0 投票
2 回答
710 浏览

serial-port - 基于 Java 的 8 位计算机仿真器的 VT100 终端仿真

我成功地使用 GNU Screen 作为串行终端,使用串行线路与我的 Altair 8800 克隆( http://altairclone.com/ )“对话”。我使用的命令是'screen -itrip /dev/ttyUSB0'。Screen 进行 VT100 仿真,从输出中去除 MSB 等 - 完美运行。

现在,我也在用 Java 开发 Altair 8800 的模拟器,并想使用一些终端模拟器来连接它并与之交谈,就像它是串行设备后面的真机一样。在 Linux 世界中解决问题的最佳方法是什么?有没有办法为此使用屏幕?有些东西告诉我解决方案是微不足道的,但我还不知道;)感谢您的任何建议。

0 投票
1 回答
1969 浏览

emacs - 终端模拟器中的 Emacs 键绑定更改

我注意到终端仿真器 ( xfce4-terminal) 中的一些 Emacs 键绑定发生了变化。

例如:M-SPC在 TTY 下设置标记,但在xfce4-terminal其中什么也不做。

还:

  • C--undoTTY 中,在终端模拟器中什么也不做
  • C-/undo在 TTY 和终端仿真器中向后擦除字符

有没有什么办法可以避免学习两条规则的负担?我只想在 TTY 控制台中像往常一样使用它们。

0 投票
1 回答
293 浏览

emacs - 有没有办法让术语模式中的区域尊重换行?

使用term模式导数(如ansi-termor multi-term)时,我经常想选择一个区域并将其复制到其他地方。如果该区域包括在终端窗口边缘换行的行,则将该区域粘贴到另一个缓冲区中总是会在换行的位置插入硬换行符term。这意味着我经常不得不返回并清理粘贴的文本。有没有办法避免这样做?我都试过了term-line-mode; term-char-mode两者都做同样的事情。

我不想编写一个去掉所有换行符的 yank 钩子,因为我想在原始内容中保留现有的硬换行符。

0 投票
1 回答
935 浏览

windows - 运行 Babun,出现错误“系统找不到指定的批次标签 - CHECKTARGET”

我正在尝试设置 Babun,一个终端仿真器(参见http://babun.github.io/)。但是,我很难简单地安装它,收到以下错误消息:

我正在遵循 github 页面上的安装说明,它们是:

“只需下载 dist 文件,解压缩并运行install.bat脚本。几分钟后,babun 会自动启动。应用程序将安装到%USER_HOME%\.babun目录中。”

我已经通过转到命令提示符中的目录然后只需输入install.bat. 我也尝试将install.bat文件拖到终端中。

为了成功运行 install.bat,我需要做什么?

谢谢你的帮助!

0 投票
1 回答
2116 浏览

c++ - 如何为 Windows 实现终端模拟器?

这是一些 C 样板,用于在 linux(可能还有其他 unix)上生成和与终端程序通信

我知道 windows 没有fork()or openpty(),所以我的问题是:如何在 windows 上实现类似的功能?

如果可能的话,我希望看到执行以下操作所需的最少工作 C/C++ 代码:

  • 使用 cmd.exe 生成交互式会话CreateProcess
  • 获取一组句柄/文件描述符,可用于从/向生成的进程读取/写入数据,以模拟交互式控制台会话的方式。
0 投票
1 回答
2264 浏览

linux - 网络上的 linux 或 windows 终端

我正计划制作一个 Web 应用程序,它允许您在网页上拥有一个 Linux 终端,以便您可以执行任何命令并获得响应,就好像您在您的 linux 终端前面一样。我计划使用 NodeJS,因为它是服务器端 JavaScript,异步且快速。

我也看到 正是我想要做的,我偷看了源代码,但没有发现有用的东西,我还用网络选项卡上的谷歌浏览器开发者工具分析了它,但绝对没有什至在执行一些命令并获得响应时。这怎么可能 ?你认为他们使用了什么技术?

所以我想得到你的建议,你的经验,以便以正确的方式开始。我最初决定使用 NodeJS,但是如果有其他编程语言或框架更适合这种应用程序,请告诉我。

0 投票
1 回答
938 浏览

android - 使用终端模拟器在 Android 中编写脚本

我是 Linux 的初学者。我写这篇文章的时候没有电脑。我在我的 Android 上使用终端模拟器来运行 Linux 命令。我也安装了 Busybox。我也有root访问权限。我试图执行一个shell脚本“sample.sh”。终端打开,但文件未执行。所以我问“linux中的.bat等效扩展名是什么?”。

这真的是一个非常糟糕的问题吗?在这里否决这个问题有什么意义?我清楚地提到了我尝试过的和发生了什么。那个真正的反对者从未解释过原因。这是对待新手的正确方式吗?由于我的各种问题引起了很多仇恨,我失去了希望,从未使用过 SO

所以如果还有希望。任何人都可以为这些行为辩护吗?