为什么Unity依赖于Gnome

根据我收到的一些类似问题,我冒昧地创建了一个简单的问题来解决这个问题:

  1. 为什么Unity依赖于Gnome以及所需的依赖点是什么?

  2. 为什么特定版本的Gnome用于特定版本的Ubuntu(让我们说Gnome 3.6用于Ubuntu 12.10)

  3. Unity在减少对Gnome的依赖方面做了哪些改变

  4. 对Gnome的依赖是否限制了Unity?

为什么Unity依赖于Gnome以及所需的依赖点是什么?

Unity不是一个完整的图形桌面。 它只是它的一小部分 – 桌面shell。 它是操作系统中最明显的部分之一,尤其是当您与其提供的控件或启动应用程序进行交互时。

为了使用图形桌面,您需要拥有一套可靠的软件,其中包括从窗口管理器和显示管理器到小工具工具包,文件管理器以及无数GUI小程序,用于配置和控制从网络到应用程序的所有内容。打开哪些类型的文件。 您还需要一套实际应用程序,如浏览器,图片查看器,video播放器等。

Unity可以作为任何现有桌面套件的shell编写。 之所以选择Gnome,是因为它相对function齐全,并且多年前已经成为Ubuntu的默认桌面环境。 因此,除了Unity提供的内容(具有非常明显的直接差异)之外,绝大多数图形桌面的工作方式与以前版本的Ubuntu相同,如果您使用默认的Gnome。

Unity实际上是作为Compiz的扩展而实现的, Compiz根本不是Gnome的一部分。 Compiz是一个3D加速窗口管理器,可以替代Gnome 2的metacity和Gnome 3的mutter,虽然它也可以与KDE一起使用(尽管KDE现在在其自己的窗口管理器中包含类似Compiz的function) 。 由于上述原因,Ubuntu选择将Unity和Compiz用于Gnome桌面环境而不是KDE。 需要一些开发工作才能使它在KDE中工作,即使Compiz本身可以与KDE一起工作。 由Ubuntu安装的Compiz版本除了Unity之外还使用了许多其他Gnome特定的扩展。

为什么特定版本的Gnome用于特定版本的Ubuntu

这就是大多数Linux发行版的工作方式 – 对于给定版本的操作系统,所有核心软件在该版本的整个生命周期中都倾向于保持相同版本,但新版本的操作系统通常会获得更新的版本软件。

最终在每个Ubuntu版本中的Gnome版本通常只是Unntu准备发布时“准备好”(没有重大问题)的Gnome的最新版本,因为事先有足够的时间进行测试。

Unity在减少对Gnome的依赖方面做了哪些改变

没有理由让Unity减少对Gnome的依赖,所以我认为没有人认真对待它。 如果Ubuntu出于任何原因需要放弃Gnome(我看不到这种情况),他们也可能也会离开Unity。

对Gnome的依赖是否限制了Unity?

我确信它在整个过程中影响了Unity的技术决策,但它也会给Unity带来很大的自由,因为它是一个成熟且function齐全的桌面环境。 Ubuntu无法通过从头开始构建新的桌面环境来取代Gnome。