【发布时间】:2014-04-29 12:13:41
【问题描述】:
我想编写一个 x11 终端仿真器,但我不知道我应该如何生成并与 shell 通信,是否有任何基本(伪或 C)代码?比如要创建什么样的 PTY、如何将 shell 绑定到它、我必须捕获或发送什么信号等等。我真的不想对整个 xterm 源进行排序。
编辑:哦,我想实现一种与其中的任何应用程序通信的方式,我应该如何进行功能发现? “客户端”中有一些隐藏的 ansi 序列,希望它不会与其他终端仿真器发生冲突?一些环境变量,希望它不会与“客户端”冲突或被 shell 删除?
【问题讨论】:
-
从阅读Advanced Linux Programming和the tty demystified开始,然后研究例如源代码。
xterm或gnome-terminal(研究这样的代码比重新发明它更省时) -
我有点希望避免学习外国代码:P
-
那么您可能没有足够的时间来实现您雄心勃勃的目标。也许研究
rxvt源代码(它可能更小)。为什么要重新发明另一个终端仿真器?为什么不改进现有的? -
因为我不只是想要终端仿真器应用程序,而是将它嵌入到我的一个更大的、有点像 ide 的程序中。
-
现在有图书馆在做这种事情吗?编辑:libvterm,测试它。
标签: linux tty pty terminal-emulator