为什么虚拟终端是“虚拟”终端,“真实”终端是什么/为什么/在哪里?


169

我希望这个问题不言自明。

我的理解是,gnome-terminal并且konsole虚拟终端,它们基本上用于相同目的,即用于各种可选命令解释器的命令行环境。(我什至不确定这是否是正确的查看方法。)

我假设实际终端就是我的错键被传以occasionaly Ctrl+ Alt+ F1F2等等。

但是,“有怪物”在黑屏腹地,所以我走,有尽可能快地可以按Ctrl+ Alt+ F7(我得知的话:“当所有的为黑色和暗:按密钥返回:)

  • 是/是“真正的”终端(多个)存在的后面的一个(多个)Ctrl+ Alt+ F1F2等等键?
  • 与“虚拟”相比,它们的“真实”是什么?
  • 以及它们有何不同?它像“没有GUI”和“ GUI”一样简单吗?

PS是“控制台”和“终端”的同义词吗?


21
不要害怕命令行。一旦您更熟悉了某些事物,它将使您的生活变得更加轻松。
拉里·科尔曼


8
@Larry:鼓足勇气,我冒险进入巨龙的巢穴(Ctrl + Alt + F1),实际上我这次登录了!我想,很有趣,很勇敢地喊出那只野兽:我说“ echo $ TERM”……瞧瞧!它告诉了我!上面写着“ linux”……我立刻意识到他是“ gnome-terminal”和“ konsole”的表亲,他们回答“ xterm”。所以,这毕竟不是龙,而是一个虚拟终端模拟linux(真实)终端。
Peter.O 2010年

5
不要害怕Linux控制台:他是一个功能强大但驯服的Dragon,在compiz崩溃时他是您最好的朋友;)
MestreLion 2015年

同样,您可以称他为的堂兄gnome-terminal,毕竟它们都具有相同的目的。一个堂兄,不依赖于任何图形环境,并且连接到可以给他更多权力的设备。
MestreLion,2015年

Answers:


136

我的理解是虚拟终端基本上可以达到相同的目的:用于各种可选命令解释器的命令行环境

严格来说,这不是真的。虚拟终端只是发送按键和接收输出(称为标准输入,标准输出[和标准错误])到后台进程的程序。这是一个基本的输入处理输出系统,并且是操作系统的核心。


电传打字机(或电传打印机)


在计算机终端工作的人

让我们看看我是否可以正确解释它:

在类似Unix的系统(例如Linux)中,存在“一切都是文件”的概念。这意味着,例如,您的DVD驱动器是文件(/ dev / sdb1),键盘是文件(/ dev / input / keyboard),依此类推。

另一组神奇的文件是TTY,其中TTY代表Teletype。打字机,它将击键发送到计算机,计算机又将字母发送回Type Ball。这将代表一个物理设备,即一台远程打字机,就像/ dev / lp0代表您的打印机一样。


硬件终端VT100

Teletype工作站将被称为“控制台”或“终端”,而不是真实的虚拟终端,因此是提供与该工作场所相同功能的任何应用程序或机器-通过发送按键来访问计算机并从中接收输出,然后将其打印到一张纸上。您可以想象调制解调器的工作方式非常相似。

终端(如上图所示)是模仿电传打字机功能的便宜而简单的计算机。如今,当我们说终端仿真器时,我们(通常)通常是指模拟此类机器功能的程序。

仍在使用基于终端的计算机系统。实际上,它们越来越受欢迎。过去,使用终端机的原因是每张桌子上的计算机都是荒谬的-那里的计算机充满了房间,而且价格昂贵。现在,它可以节省资金并简化管理。


“瘦客户机” – VT100的现代等效产品

我希望这会有所帮助。如果我做错了,请提醒我。


这是否意味着Control-Alt-F1,F2等也是虚拟终端,它们与“ gnome-terminal” /“ konsole”之间的唯一区别是它们没有GUI?

是的,基本上。TTY1-7和gnome-terminal之间的区别在于系统提供了tty,而gnome-terminal和konsole本身运行在tty(正在运行图形子系统)上。毕竟,这种抽象可以嵌套得更深(例如,使用telnet协议充当终端的x-forwarding,...),毕竟,人机界面就像任何其他文件一样。并且可以以相同的方式进行管道传输,抽象和移动。


15
您的回答有帮助吗?...绝对!!...很好解释...我从没把键盘当作文件,但是这很有意义(只读文件)...而“瘦客户机”是我曾听到吹捧的术语一些播客,但它使我震惊,我认为它指的是一些新的CPU架构(a-la RISC)..但这实际上意味着好的想法不会消失,并且CICS(或者至少是它的后代) )仍然活着,还不错...非常有趣...谢谢(现在我还有更多阅读要做……您已经开始做一些事情:)
Peter.O 2010年

19
这有点随机,与Linux没有太大关系,但仍然如此:如果您想了解计算机实际工作原理的一些基本知识,请收听twit.tv/sn -第233、235、237、239和241集。关于“计算机从绝对基础上如何工作”的系列文章,其中“基础”表示“低级”。并不是很多人都知道这些东西,这很有趣。
Stefano Palazzo

1
@TokiTahmid哎呀!已更正,非常感谢。这不是故意的,只是一个错误:)
Stefano Palazzo

4
我的回忆是,VT-100被认为是(视频)终端,而不是虚拟终端或终端仿真器。只要包含它们自己的微处理器的许多设备被模拟为其他设备,只要它们被设计为直接向用户提供输入和输出,它们就被视为终端。如果计算机/人机界面是在专用于终端的设备上的软件中实现的,那么我将该界面或软件称为虚拟终端。整个设备的目的在于差异,而不是所使用的技术或通信协议。
约翰·格鲁伯

2
@JohnSGruber您的回忆是正确的VT100及其类似物是“视频”终端,以将其与基于纸张的TTY(此答案中的第一张照片)区分开来。VT相对于TTY的三个好处是安静得多,没有浪费的纸张(但没有滚动效果并不总是很好)和速度-TTY几乎可以限制为110baud(10字符/秒),VT可以高达19,200baud,iirc。后来,他们甚至提出了“智能终端”,这是一款VT,能够对输入信号进行一些处理,并为文本甚至是图形添加颜色,从而增加色彩。
Gypsy Spellweaver

14

可以肯定地说,将其称为“虚拟终端”是对物理终端连接到Unix服务器的回溯。


好吧...这很有意义...在多任务存在之前先“然后”,它的想法是抽象的“虚拟” ...所以这与虚拟机与硬件“盒子”相同”。
Peter.O 2010年

2
这是否意味着Control-Alt-F1,F2等也是虚拟终端,它们与“ gnome-terminal” /“ konsole”之间的唯一区别是它们没有GUI?
Peter.O 2010年

@ fred.bear:看一下Wikipedia
Jamie Schembri,2010年

虚拟的,因为终端的人工输入/输出端实际上连接到正在运行的进程(通过/ dev / pts / *)。非虚拟终端类似于Linux文本控制台(由内核代码提供的后端,用于将击键转换为终端输入字符,并将终端输出转换为屏幕上的字符,包括处理颜色,光标移动等转义代码)。或非虚拟终端的最旧示例,即串行端口。终端连接所提供的终端处理功能。您可以在串行端口上使用文本控制台启动。
彼得·科德斯

13

除上述答案外,请参阅端子综合说明。尽管TTY很简单,但从概念上讲它是Linux中相当复杂的一部分。


1
感谢loevborg。这是一篇非常有趣的文章,它在很大程度上解释了许多“神秘的”术语(例如“僵尸”过程;)
Peter.O 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.