Shell、Xterm、Gnome-Terminal、Konsole简介(转)
什么是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简介(转)的更多相关文章
- 在linux终端执行clear或top命令时出现:'xterm' unknown terminal type的错误
例如: [root@localhost phpmyadmin]# clear 'xterm': unknown terminal type. 解决办法: 1.临时办法,下次启动失效,需要重新执行 ex ...
- 在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type
在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type的错误. 例如: [root@localhost phpmyadmin]# clear ' ...
- Emacs中使用shell(调出terminal)
在Emacs中使用shell(调出terminal) 方法: M-x eshell 注意:不能使用 M-x shell,这样调用的是 cmd命令,一些命令无法使用
- Shell编程基础教程1--Shell简介
1.Shell简介 1.1.查看你系统shell信息 cat /etc/shell 命令可以获取Linux系统里面有多少种shell程序 echo $SHELL 命令可以查看当前你所使用的shell是 ...
- shell脚本编程之变量简介及脚本执行过程
脚本变量简介 变量类型:字符型.数值型.真.假:事先确定数据的存放格式和长度: 变量存放在内存空间: 编译型语言,没有额外的处理逻辑,属于强类型语言: 脚本型语言,可以有解释器控制:所以,可以是弱类型 ...
- 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 ...
- ubuntu 桌面版, ssh 连接时使用,x转发进行使用 gnome-terminal 时出现:Error calling StartServiceByName for org.gnome.Terminal: Timeout was reached 错误
当我按照这种情景使用时,出现了这种情况: 考虑着 gnome 桌面正在运行,可能是gnome-terminal 使用了工厂模式进行创建:查找gnome-terminal 文档,有如下解决方案: gno ...
- 今天介绍一个渐变的方法,在shell里面自动生成注释简介
在编辑sh脚本时,我经常在shell中写一些注释.今天我介绍一种渐变方法,它可以在每次vim shell脚本时自动在shell中生成注释和其他信息. 让我们共享一个shell脚本模板文件,将其复制到用 ...
- linux - console/terminal/virtual console/pseudo terminal ...
http://en.wikipedia.org/wiki/System_console System console Knoppix system console showing the boot p ...
随机推荐
- bzoj2595 [Wc2008]游览计划——斯坦纳树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2595 今天刚学了斯坦纳树,还不太会,写一道题练习一下: 参考了博客:http://www.c ...
- Java-MyBatis:MyBatis
ylbtech-Java-MyBatis:MyBatis 1.返回顶部 1. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foun ...
- org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.demo.pojo.IdCard
转自:https://blog.csdn.net/zheng0518/article/details/11029733 TestStudent.testSchemaExporttestSchemaEx ...
- 95.Extjs 表单中自定义的验证规则 VTypes
1 Ext.onReady(function(){ Ext.QuickTips.init(); //重写 (自定义)xtype Ext.apply(Ext.form.VTypes,{ repetiti ...
- python使用MySQLdb向mySQL批量插入数据的方法
该功能通过调用mySQLdb python库中的 cursor.executemany()函数完成批量处理. 今天用这个函数完成了批量插入 例程: def test_insertDB(options) ...
- 第2章 安装Nodejs 2-2 Nodejs版本常识
- [Apple开发者帐户帮助]五、管理标识符(4)注册一个应用程序组
您需要注册一个或多个组才能启用应用组. 所需角色:帐户持有人或管理员. 在“ 证书”,“标识符和配置文件”中,从左侧的弹出菜单中选择操作系统. 在“标识符”下,选择“应用程序组”,然后单击右上角的“添 ...
- python 实现线程之间的通信
前言:因为GIL的限制,python的线程是无法真正意义上并行的.相对于异步编程,其性能可以说不是一个等量级的.为什么我们还要学习多线程编程呢,虽然说异步编程好处多,但编程也较为复杂,逻辑不容易理解, ...
- Redis学习笔记(二)-key相关命令
Redis支持的各种数据类型包括string,list ,set ,sorted set 和hash . Redis本质上一个key-value db,所以我们首先来看看他的key.首先key也是字符 ...
- 利用set特性判断list是否存在重复的值
List<String> list2=new ArrayList();//存放很多值的list //根据set不能存储相同的值该特性来判断list2中的值是否重复 HashSet set ...