标签: terminal-emulator

wxWidgets的类似终端的窗口?

我想在我的wxWidgets GUI中添加一个元素,其行为类似于终端模拟器.不是在执行命令的shell方面,而是在终端中运行的应用程序的输入输出设置方面.

基本上,要求是:

流输入/输出:当您输入一个字符时,它会被添加到输入流中,当某些内容通过管道输送到终端时,它会立即打印出来.

无编辑:输入一个字符后,它永久存在,因为它可能已被终端中运行的应用程序使用.

某种滚动(即使它只是显示几行或其他东西).

如果有一些东西已经做到这一点会很好,但是对于如何用已经存在的控件(如wxTextCtrl)实现它的建议也会受到欢迎.

c++ streaming wxwidgets terminal-emulator

8
推荐指数
1
解决办法
2982
查看次数

Python终端仿真

我想在Python应用程序中运行一个xterm兼容的虚拟终端.我需要在其中运行基于ncurses的应用程序,使用用户的输入提供它并读取其输出.

到目前为止,我已经找到了python-vte,但它只提供了一个GTK +小部件(libvte具有所需的VtePty类,但Python绑定没有)并且具有不可接受的libgtk依赖性.

有没有其他方法可以在Python中执行终端仿真?

python xterm pty terminal-emulator

7
推荐指数
1
解决办法
1万
查看次数

更改man命令输出的宽度

我经常使用Guake终端模拟器.这是切片育成IMO以来最好的事情.

但有一件事一直困扰着我,当我想阅读手册页时,输出的默认宽度是终端窗口的宽度,在我的情况下总是全屏,所以它有点难以阅读.

有没有办法让man命令输出的默认宽度为a,阅读愉快,80个字符?

man的手册页有这一部分:

   MANWIDTH
          If  $MANWIDTH  is set, its value is used as the line length for which manual pages should be formatted.  If it is not set,
          manual pages will be formatted with a line length appropriate to the current terminal (using an ioctl(2) if available, the
          value  of  $COLUMNS,  or  falling  back  to 80 characters if neither is available).  Cat pages will only be saved when the
          default formatting can be used, that is when the terminal …
Run Code Online (Sandbox Code Playgroud)

linux shell terminal manpage terminal-emulator

7
推荐指数
3
解决办法
1181
查看次数

要启用并行构建,请添加“/m”开关

我想运行此示例https://github.com/Gottox/node-webterm,但是当我执行命令 npm install 时,它显示错误消息。

Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  exechelper.cpp
..\src\exechelper.cpp(3): fatal error C1083: Cannot open include file: 'unistd.
h': No such file or directory [V:\node-webterm-master\node_modules\child_pty\bu
ild\exechelper.vcxproj]
  pty.cpp
..\src\pty.cpp(25): error C2027: use of undefined type 'winsize' [V:\node-webte
rm-master\node_modules\child_pty\build\pty.vcxproj]
          ..\src\pty.cpp(22) : see declaration of 'winsize'
..\src\pty.cpp(25): error C2227: left of '->ws_row' must point to class/struct/
union/generic type [V:\node-webterm-master\node_modules\child_pty\build\pty.vcx
proj]
..\src\pty.cpp(26): error C2027: use of undefined …
Run Code Online (Sandbox Code Playgroud)

javascript pty terminal-emulator node.js npm

7
推荐指数
1
解决办法
9496
查看次数

用于访问互联网时通知的Bash脚本

我写了这个bash脚本,以便在互联网变得可访问时发出通知,但我不了解许多正在发生的事情.这是脚本:

while ! ping 8.8.8.8 -c 1 2&> /dev/null ; do true; done;
Run Code Online (Sandbox Code Playgroud)
  • -c 1选项告诉ping我只想发送一个数据包.
  • 2&> /dev/null是因为我不想看到输出.
  • true是因为bash不接受do;语法.
  • 终止条件是! ping ...因为ping在某些数据包之前没有收到数据包时返回非零状态代码timeout.

预期的行为是在ping成功结束时此循环结束,终端仿真器将自动向我发送通知.


问题

  • 即使可以访问Internet,此命令也不会结束.
  • 试图杀死命令ctrl + C不起作用.我认为它会杀死子命令ping而不是整个命令.
  • 2&> /dev/null除了将输出写入终端的次要问题之外,只有删除才能使所有事情都有效.

问题

  1. 我的命令出了什么问题?
  2. 终端仿真器究竟是如何做出反应的ctrl + C
  3. 为什么删除2&> /dev/null使它工作?

请注意,我已经有了转机.不过我还想了解bash一点.

f() { while ! ping 8.8.8.8 -c 1 ; do true; done; }; …
Run Code Online (Sandbox Code Playgroud)

bash shell terminal-emulator

7
推荐指数
1
解决办法
322
查看次数

如何以编程方式确定终端窗口的字符尺寸?

我正在编写一个脚本,它将在终端仿真器窗口中显示一个股票图表作为ASCII艺术.我通常使用OSX/Terminal.app,但基于Linux的解决方案是可接受的替代方案.

我的脚本目前有屏幕宽度和高度的命令行参数(同样,在CHARACTERS中测量,而不是像素),默认值由我自己的发明的环境变量确定.我希望这些脚本确定当前窗口的大小(IN CHARACTERS),并使用THAT作为默认值.我的17英寸Macbook Pro上的大窗口的典型尺寸可能是200 x 68.

这是一个perl脚本,但如果您知道其他语言的解决方案,请告诉我!

TIA.

bash terminal scripting perl terminal-emulator

6
推荐指数
1
解决办法
1592
查看次数

在android终端模拟器中执行python脚本

我在我的Android设备上安装了python 2.7,我尝试通过在终端模拟器中输入命令来执行python脚本.问题是虽然我使用python的完整路径,但会出现以下错误:

link_image[1997]: failed to link ./python CANNOT LINK EXECUTABLE.

我试图在./~bashrc中添加环境变量,但我没有成功.任何的想法 ?

python executable android terminal-emulator

6
推荐指数
1
解决办法
2万
查看次数

有没有办法使术语模式中的区域遵守换行?

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

我不想编写一个剥离所有换行符的猛勾,因为我想在原始内容中保留现有的硬换行符。

emacs terminal-emulator

6
推荐指数
1
解决办法
195
查看次数

终端模拟器中的 Emacs 键绑定发生变化

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

例如:M-SPC在 TTY 下设置标记,但在其中xfce4-terminal不执行任何操作。

还:

  • C--undoTTY 中并且在终端模拟器中不执行任何操作
  • C-/undo在 TTY 和终端模拟器中向后擦除字符

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

emacs key-bindings terminal-emulator

5
推荐指数
1
解决办法
2353
查看次数

如何关闭滚动字符

当我使用鼠标滚轮向上/向下滚动 Linux 终端窗口时,我得到的只是打印出一些控制字符。看起来是这样的..

^[OA^[OA^[OA^[OA^[OA^[OA^[OA^[OB^[OB^[OB^[OB^[OB^[OB^[OA^[OA^[OA^[OA
Run Code Online (Sandbox Code Playgroud)

我怎样才能将其关闭?

terminal-emulator

5
推荐指数
2
解决办法
1166
查看次数