Unity和GNOME之间的区别。

在阅读有关Ubuntu的文章时,我经常遇到Unity和GNOME这两个术语。我知道Unity是Ubuntu的默认桌面环境。那么GNOME是什么,它与Unity有什么关系或区别?

同时请访问http://unix.stackexchange.com/q/141114 - Pandya
3个回答

GNOME是什么?

GNOME是很多东西。通常,GNOME指的是GNOME桌面环境。引用Arch Wiki的说法:

桌面环境将各种X客户端捆绑在一起,提供常见的图形用户界面元素,如图标、工具栏、壁纸和桌面小部件。此外,大多数桌面环境还包括一套集成的应用程序和实用工具。

它由GNOME基金会创建和维护。他们是许多受欢迎的应用程序的推动力量,同时也提供了一套,如GTK、GObject甚至一种名为Vala的语言,这些都用于构建GNOME桌面环境中的应用程序,并作为整个GNOME项目的一部分。

有两个相对知名的GNOME版本:GNOME2,早已过时和消失了,以及GNOME3,目前的版本。我记得Ubuntu一直追踪GNOME(无论是哪个版本)。你可以在Ubuntu 10.04中看到GNOME2的效果。一旦GNOME2消失了,就引入了一个被称为GNOME Classic、GNOME Flashback(可能还有其他名称)的经典模式,但远远不及GNOME2的灵活性和可定制性。它只是在外观上有点像GNOME2。
GNOME2被分叉成MATE。MATE现在是你可以获得的最接近GNOME2体验的版本,但带有功能更新。Ubuntu MATE现在是官方版本之一。
当你查看GNOME网站或安装Ubuntu GNOME时,你会看到GNOME3,而在Ubuntu中的许多应用程序和Cinnamon都是基于GNOME3开发的。MATE正在添加对GNOME3底层库GTK3的支持。通常,当最终用户谈论GNOME3时,他们指的是GNOME Shell(因为那是你所看到的)。

它与Unity有什么关系?

你可以把GNOME看作是Ubuntu默认桌面环境(DE)的“父亲”(或者至少是个叔叔)。它是许多Ubuntu应用程序的上游项目

Ubuntu的默认桌面环境使用了大部分的GNOME应用程序,但也有一些变化:

  • Unity代替了GNOME Shell(直到Ubuntu 17.04)
  • Firefox代替了Web浏览器(曾被称为Epiphany)
  • Thunderbird代替了Evolution
  • LibreOffice Write代替了Abiword
  • 对GNOME Terminal和Nautilus进行了一些补丁,我想。
  • Ambiance GTK主题代替了Adwaita
  • 可能还有一些其他的变化

Unity和GNOME Shell有一些相似之处:

  • 顶部面板
  • 一个Dock
  • 一个可搜索的应用程序菜单替代系统。

然而,我认为相似之处就到此为止了。

Ubuntu GNOME发行版使用GNOME,除了一些应用程序经过修补的情况(例如GNOME终端)。
相关阅读:
  1. Unity、Gnome、Gnome 3、Compiz、Metacity和LightDM之间有什么关系?
  2. 有哪些可用的桌面环境和壳层?
  3. 在安装软件包(特别是那些带有图形用户界面的软件包)时,如何确定适合您的发行版?
  4. Ubuntu 13.10的默认桌面环境是什么?
  5. 什么是桌面环境、会话和壳层?

Ubuntu的软件包不包含Gnome,它的默认桌面环境是Unity。我想知道Ubuntu Gnome是否同时包含了Unity和默认的Gnome桌面环境? - Soumyadip Das

GNOME 是一个支持 GNOME 桌面环境的项目,它默认使用 GNOME Shell 作为外壳。我假设你在谈论 Unity 外壳GNOME Shell 之间的区别(这是唯一可以准确比较的事物)。
从技术上讲,唯一的区别在于,GNOME Shell使用mutter/clutter(有时也使用metacity,但不是默认的窗口管理器),而Unity使用Compiz(实际上,Unity是一个Compiz插件,但我们忘记这个细节),并且使用NotifyOSD而不是libnotify库。除此之外,没有其他重要的架构变化。两者使用大部分相同的库(安装两者可能会导致冲突),而Unity提供与第三方服务的集成(通过Scope和Lens功能)。
然后,其他的区别纯粹是美学上的,例如顶部栏+启动器/任务栏(位于左侧)+ Dash与GNOME的顶部栏+ Dash,以及不同的主题设计,总体上它们试图提供不同的用户体验。
从机构角度来看,Unity由Ayatana Project推动,而正如我在开始时所说,GNOME Shell由GNOME项目开发。这就是大部分情况。因此,实际上,GNOME Shell和Unity之间有更多共同点,而与其他壳(如kdm、xfwm4等)之间的共同点较少,尽管Unity shell和Cinnamon之间几乎没有共同点(如果忽略对GTK3的使用)。

关于Gnome 2怎么样呢?有很多人谈论Gnome经典版,而现在运行原始的Gnome 3的人很少。 - sbergeron
@sbergeron 真的吗?现在应该已经没有Gnome 2的库存了(没有主要的发行版有Gnome 2的软件包),而且问题也不是关于Gnome 2,而是关于纯粹的GNOME(在这种情况下,我对差异进行了解释性的介绍)。问题的正文/标题中没有任何暗示问题是关于Gnome 2的,Ubuntu也不包含Gnome 2的软件包,所以这是无关紧要的。 - Braiam
除了有备用模式,还有伙伴和很多人谈论过Gnome,因为它曾经非常有用。我知道如果可以的话,我会一直使用Gnome 2,并且现在在某些地方可能已经引用了无数次相关信息。 - sbergeron
事实是,它并不像Canonical或GNOME希望的那样灭绝,即使很少有人将其作为主要桌面环境使用。我知道我在Ubuntu中看到Unity卡住了,然后我就说“不行...你好KDE”...从那以后我就再也没有回去用它作为主要桌面环境了。 - sbergeron
1这个问题实际上与Gnome 2毫无关系。Braiam:我希望你能强调Gnome(作为一个项目)和Unity作为桌面环境之间的区别。 - Seth
@Seth 如果我这样做的话,我需要一个类似维基百科的答案。另外,GNOME 项目不能与 Unity 桌面环境相比较...就像是在比较苹果和橙子一样。顺便说一下,从技术上讲,Unity 不是一个桌面环境,只是一个壳。 - Braiam
@Braiam 是的,这就是这个问题的本质。没错,Unity只是一个外壳,你说得对。我的舌头总是绕在那些相似但又不完全相同的词汇上。我们不需要一篇维基百科文章,只需要一个(可能中等长度的)回答来描述GNOME和Unity的区别。这种区别有时候会非常令人困惑,尤其是对于新用户来说。 - Seth
@Seth,我解释了技术和机构方面的差异,唯一没有提到的是每个人的意识形态,因为这可以很容易在他们各自的页面上找到,关于用户体验应该是什么样子。我之所以提供答案,是因为我知道其他人会提供平庸甚至错误的答案,这些答案无法触及它们之间的根本区别,而我做到了。 - Braiam
1如果你想将GNOME项目与任何东西进行比较,那应该是与Ayatana进行比较,而不是与GNOME Shell进行比较。 - Braiam
@Braiam 我之前听说过Ayatana,但从未给予太多关注。谢谢你的强调。 - muru
哈哈...如果我们把奥利也带进来,那就是千人大战了 :p ...开玩笑的话题放一边,我觉得塞斯是在问布莱恩要解释他们在技术层面上的关系,他们是否以某种方式相互需要,以及它们之间的差异和/或不兼容性。 - sbergeron
@sbergeron 我认为我满足了那个要求,回答中提到了技术上的相似之处和不同之处。请查看第二段。 - Braiam

在Linux上有很多不同的桌面环境和窗口管理器。Gnome曾经是Ubuntu的默认桌面环境,但在最近的版本中,这已经改为Unity了。