[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re:Re: 怎样写一个X Terminal Emulator?



我没写过,但suckless的网站上有个简单的x terminal,可以去google一把

On Oct 2, 2012 10:42 AM, "amateur" <tianlei.zhao@gmail.com> wrote:
On Sat. 2012-09-29 20:03:36 +0800, cqzlxl wrote:
> 在 2012-09-29 19:43:25,"tong hui" <tonghuix@gmail.com> 写道:
> 这个和你的需求有关,如果这个X terminal不具备脚本执行功能的话,还是比较简单的
>
>
> 我觉得就是一个简单命令解析器,当然这样的话没有X也行了。。呵呵
X Terminal Emulator 不是命令解释器,那是 shell 的角色。事实上,
Terminal Emulator 就是一个键盘和显示 (即所谓的 terminal) 的模拟程序,
从用户那里接收键盘输入,发送给 Terminal 中前台程序 (通常是 shell),然
后将程序的输出显示到 terminal emulator 窗口中。

Terminal 还有一些增强功能,比如显示颜色、控制光标移动、Job Control 等。
另外以前有多种 Terminal,为了保证在这些增强功能上的兼容性,就有了 ANSI
转义序列等标准。Job Control 的实现需要 OS 的辅助,因此 Terminal 不是直
接完全由运行在其中的应用程序控制的,而是需要由 OS 作中介。即 Termnial
是一个设备,由 OS 打开后作为 Application 的输入输出。

实现 Terminal Emulator 需要用到 Pesudo TTY 机制,这里我也是一知半解。
大概就是 terminal emulator 向 OS 申请一对 PTTY,一个是 master 端,另外
一个是 slave 端。master 和 slave 是接在一起的,Terminal Emulator 控制
master 端,terminal 中的应用程序控制 slave 端。输入从 键盘->terminal
emulator->master->slave->application,输出从
application->slave->master->terminal emulator->X window。

>
>
> 2012/9/29 Tianjiao Yin <ytj000@gmail.com>
> 如果你打算读代码的话,千万别看xterm,因为它的代码就像一坨巨大的屎。
> 连xterm作者都在README中狠狠的批评了自己的代码。
>
> 在 2012年9月29日 下午6:00,Guo Yixuan <culu.gyx@gmail.com> 写道:
> > On 09/29/2012 05:22 PM, cqzlxl wrote:
> >> Hi,各位
> >> 有人了解如何实现一个X Terminal Emulator吗?跪求指导!
> >> 最近想实现一个极其简单的X Terminal Emulator,但不知道如何下手,不知道背后的大致原理与思路,求教。
> >
> > 直接去看代码不行么? (xterm可能是依赖最少的, 可能比其他的简单一些)
-------------------------

--
 [32m《溪居》 [m
 [33m作者:柳宗元 [m
久为簪组累,幸此南夷谪。
闲依农圃邻,偶似山林客。
晓耕翻露草,夜榜响溪石。
来往不逢人,长歌楚天碧。


--
To UNSUBSCRIBE, email to debian-chinese-gb-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 20121002022539.GA20687@localdomain" target="_blank">http://lists.debian.org/[🔎] 20121002022539.GA20687@localdomain


Reply to: