什么是Shell?

简单的说, Shell就是一个小程序,这个小程序可以接受来自键盘的命令并把这些命令发送到操作系统,再有系统来执行。在过去,在安装有Unix的计算机上,这是唯一的可用的交互式操作。而如今,可以通过图形化界面来输入命令行,比如Shell。

在大多数的Linux计算机中,安装有个一个叫bash(bash是Bourne Again SHell的简写,这是有Steve Bourne编写的一个早期Shell的升级版。),它充当Shell的角色。通常在Linux计算机上有多种可用的Shell,比如:ksh、tcsh、 zsh。

Xterm、Gnome-Terminal、Konsole之类都是什么?

一般的Linux系统通常包含多种终端模拟器,就像:XTerm、Rxvt、Konsole、Kvt、Gnome-Terminal、Nxterm、eterm。

以下是基于htop命令进行展示的结果:

Gnome Terminal

对于GNOME用户,Gnome Terminal显然都是默认安装的。也就是说,它是系统的一部分。与列出的其他终端程序一样,它支持彩色的文本,多样化的主题,透明,鼠标交互,多标签。这个终端支持多用户,所以可以任意尝试不同的设置项,而不会影响当前的配置,或者也可以为不同的任务设置不同的配置。Gnome Terminal支持链接的点击,这个特性用过之后就无法舍弃。

作为Gnome的一个组件,它的标题栏的样式跟GTK主题保持一致,与系统的其他部分的外观也一样,与大多数Gnome组件一样,默认的终端遵循GPL v3协议。

Guake

Guake少数有“下拉”样式的界面的终端里的头一个,按下热键后下拉的内容会在屏幕的顶端显式。Guake和其他有下拉风格界面的终端的风格在Quake也有,出于对90年代的怀念,可以通过这种方式来重温我的最爱。

在Guake众多特性中,自带了大量的主题,包括Solarized Dark和Tomorrow Night。它有足够多的配置项可以满足所有的需求,默认的热荐(F12 启动,F11 全屏)。Guake可以在GitHub上找到,基于 GPLv2。

Konsole

Konsole是KDE附带的默认终端仿真器。作为一个KDE组件,它为许多其它的KDE应用提供了嵌入式终端,包括Konqueror,Kate,KDevelop。它的功能和GNOME默认的终端类似。如果不喜欢终端的屏幕显示比例或TMUX,它还提供了分割终端功能。Konsole基于GPL2协议

Terminator

Terminator在很多地方与GNOME终端类似,也像Konsole,它的过人之处在于分割终端,在一个窗口里显示多个终端。也是跨平台的,如果想在Mac,Windows和Linux上面体验,它可能是不错的选择。它也有一些漂亮的功能,包括文字和网址的拖放功能,精心设计的垂直滚动功能,制表符适度处理(许多程序员需要这个),自动日志等。它还可以优雅的处理 UTF-8 字符。Terminator基于GPL2开源。

Tilda

Tilda是为GTK设计的另一种下拉抖动样式(Quake-style)终端仿真器,它的名字是取自波浪号键(Tilda),默认波浪号键调用雷神之锤终端。Tilda的默认界面是很小的,没有窗口标题,边框,或任何东西,但需要改变样式时可以在偏好中设置。它有大量的配备,从设置键绑定,设置默认的大小和颜色,滚动设置,和更多的参数。Tilda基于GPL2开源。

Xterm

如果感觉Xterm它很古老,没错,因为它的确很古老。Xterm出生于1984年,Xterm是X Window系统的默认终端模拟器,需要避开任何的图形工具包,否则它可能会显示在你的窗口管理器上。但这种简约的做法也相应的缺乏特色;这是非常简单的一个终端。不过,对于一个非常小的带有图形系统的Linux,Xterm中仍有一席之地。Xterm基于MIT许可。

Yakuake

Yakuake是另一个下拉终端模拟器,它是KDE家庭的一部分。简称“又是一个kuake系列Yakuake实际上可以看作是一个前端Konsole(上面提到),它的许多特征是相似的。如果你喜欢的Konsole但又喜欢抖动样式,Yakuake是不错的选择。Yakuake基于GPL2。

参考:

https://www.oschina.net/translate/top-open-source-terminal-emulators(以上内容转自此篇文章,后期经过大量修改)

Shell、Xterm、Gnome-Terminal、Konsole简介(转)的更多相关文章

  1. 在linux终端执行clear或top命令时出现:'xterm' unknown terminal type的错误

    例如: [root@localhost phpmyadmin]# clear 'xterm': unknown terminal type. 解决办法: 1.临时办法,下次启动失效,需要重新执行 ex ...

  2. 在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type

    在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type的错误. 例如: [root@localhost phpmyadmin]# clear ' ...

  3. Emacs中使用shell(调出terminal)

    在Emacs中使用shell(调出terminal) 方法: M-x eshell 注意:不能使用 M-x shell,这样调用的是 cmd命令,一些命令无法使用

  4. Shell编程基础教程1--Shell简介

    1.Shell简介 1.1.查看你系统shell信息 cat /etc/shell 命令可以获取Linux系统里面有多少种shell程序 echo $SHELL 命令可以查看当前你所使用的shell是 ...

  5. shell脚本编程之变量简介及脚本执行过程

    脚本变量简介 变量类型:字符型.数值型.真.假:事先确定数据的存放格式和长度: 变量存放在内存空间: 编译型语言,没有额外的处理逻辑,属于强类型语言: 脚本型语言,可以有解释器控制:所以,可以是弱类型 ...

  6. How to Copy and Paste in the Ubuntu Gnome Terminal

    How to Copy: Select the content in terminal use your mouse , and then use Ctrl + Shift + C to copy t ...

  7. ubuntu 桌面版, ssh 连接时使用,x转发进行使用 gnome-terminal 时出现:Error calling StartServiceByName for org.gnome.Terminal: Timeout was reached 错误

    当我按照这种情景使用时,出现了这种情况: 考虑着 gnome 桌面正在运行,可能是gnome-terminal 使用了工厂模式进行创建:查找gnome-terminal 文档,有如下解决方案: gno ...

  8. 今天介绍一个渐变的方法,在shell里面自动生成注释简介

    在编辑sh脚本时,我经常在shell中写一些注释.今天我介绍一种渐变方法,它可以在每次vim shell脚本时自动在shell中生成注释和其他信息. 让我们共享一个shell脚本模板文件,将其复制到用 ...

  9. linux - console/terminal/virtual console/pseudo terminal ...

    http://en.wikipedia.org/wiki/System_console System console Knoppix system console showing the boot p ...

随机推荐

  1. [Codeforces 1013B] And

    [题目链接] http://codeforces.com/problemset/problem/1013/B [算法] 不难发现,答案只有0,1,2,-1,共4种取值 分类讨论即可,计算时可以使用ST ...

  2. MySQL:常见错误01

    ylbtech-MySQL:常见错误01 1.返回顶部 1. [SQL]select * from product_product_tag aLEFT JOIN system_tag b on b.i ...

  3. 对ip数据进行分类----c++

    #!/usr/bin/expect set ip [lindex $argv ] set password [lindex $argv ] spawn -l root ${ip} "host ...

  4. Django day11(一) ajax 文件上传 提交json格式数据

    一: 什么是ajax? AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互 ...

  5. GStreamer系列 - 基本介绍

    什么是Gstreamer? Gstreamer是一个支持Windows,Linux,Android, iOS的跨平台的多媒体框架,应用程序可以通过管道(Pipeline)的方式,将多媒体处理的各个步骤 ...

  6. 笔记《javascript高级程序设计》 第12章 DOM2和DOM3

    DOM2 级核心:在 1 级基础上构建,为节点添加更多方法和属性 DOM2 级视图:为文档定义了基于样式信息的不同视图 DOM2 级事件:说明了如何使用事件和DOM文档交互 DOM2 级样式:如何以编 ...

  7. PHP序列化 反序列化

    序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1. serialize和 ...

  8. (转)用JS实现表格中隔行显示不同颜色

    用JS实现表格中隔行显示不同颜色 第一种: <style> tr{bgColor:expression(     this.bgColor=((this.rowIndex)%2==0 )? ...

  9. HTML 5的基本标签

    1.  文件开始标签<html> 在任何的一个HTML文件里,最先出现的HTML标签就是<html>,它用于表示该文件是以超文本标识语言(HTML)编写的.<html&g ...

  10. Leetcode0092 & 0206--Reverse Linked List 链表逆转

    [转载请注明]http://www.cnblogs.com/igoslly/p/8670038.html 链表逆序在链表题目中还是较为常见的,这里将Leetcode中的两道题放在一起,分别是 0092 ...