标签 Mir 下的文章

mir

这是一篇来自 Canonical 的软件工程师 Alan Griffiths 的一篇游客文章。如果你也想投稿,请联系 [email protected]

Mir 是一个计算机显示的管理应用的支持项目。它可以与当前 Ubuntu 桌面(及很多其他桌面)上使用的、我们更熟悉的 X-Window 相比较。我下面会讨论 Mir 的一些动机,但本篇的目的是澄清 Mir 和 Unity 8 之间的关系。

大多数时候你听说 Mir 时都会提到 Unity 8。这并不奇怪,因为 Unity 8 是 Canonical 新的用户界面 shell,用户会一直与它交互。 Mir “只”是使这成为可能。Unity 8 目前用于手机和平板电脑,也可以在 Ubuntu 16.10 桌面上“预览”它。

在这里我想解释一下,可以不用 Unity 8 也可以使用 Mir。要么作为替代 shell,要么作为嵌入式环境的更简单的界面:信息亭,电子标牌等。Mir “抽象层”证明了这一点,它提供了三个重要的元素:

  1. libmiral.so - Mir 的稳定接口,提供基本的窗口管理;
  2. miral-shell - 一个提供“传统”和“平铺”窗口管理的示例 shell;
  3. miral-kiosk - 一个仅提供基本窗口管理的示例“信息亭”。

miral-shell 和 miral-kiosk 示例服务器可从 zesty 的归档文件中获得,Kevin Gunn 已经在“Voices”上写了一篇基于 miral-kiosk 的“信息亭”的概览的博文。我将在下面给出更多关于使用这些例子的细节,但在我的“voices”博客上有更多(包括“如何”开发自己的替代 Mir 服务器)。

使用 MIR

Mir 是一套编程库,而不是独立的程序。这意味着这需要程序去调用它实现相应的功能。有两种方式去使用 Mir 库:编写程序的时候作为“客户端”,或者在实现 shell 时作为“服务端”。客户端(和 X11 一起)典型是使用工具库,而不是直接使用 Mir(或者 X11)。

GTK、Qt 和 SDL2 中有对 Mir 的支持。当在那些工具库中启用对它的支持时(默认在 Ubuntu 中启用支持),意味着使用这些工具的程序应该“可以工作”于 Mir 中。除此之外还有一个 Xmir:一个运行于 Mir 的 X11 服务器,这允许基于 X 的服务运行在 Mir 服务端上。

但是开始之前 Mir 客户端需要一个相匹配的 Mir 服务端。在最后一个开发周期中,Mir 团队在演示中将 MirAL 作为编写 Mir 服务端的推荐方法,并推出了一个“miral-examples”包。在 Ubuntu 的开发版本 zesty 中,你可以从归档中安装它:

$ sudo apt install miral-examples mir-graphics-drivers-desktop qtubuntu-desktop

对于其他平台,你需要自己构建 MirAL(有关详细信息,请参阅 Mir 桌面环境示例)。

miral-examples 安装后你可以在 Unity 7 中以窗口的方式运行一个 Mir 服务端,然后在里面运行一个客户端(比如 gedit):

$ miral-shell&
$ miral-run gedit

这会给你一个(非常基础的)“传统” 的桌面窗口管理。另外你可以试下“平铺”窗口管理器:

$ miral-shell --window-manager tiling&
$ miral-run qterminal

或者(甚至更基础的)信息亭界面:

$ miral-kiosk&
$ miral-run 7kaa

这些 Mir 服务端都不会提供带有“启动器”、通知等的完整“桌面”。但是它们演示了不使用 Unity 8 使用 Mir 的可能。

MIR 解决的问题

X-Window 系统过去是,并且现在也是,一种提供了与计算机的交互的非常成功的方式。它提供了广泛的硬件和驱动程序一致的抽象。它支持许多桌面环境和图形用户界面工具包,并可以让它们在大量计算机上一起工作。

但它来自一个与当前电脑使用方式非常不同的时代,现在有一些问题是很难满足的,因为它需要支持老旧的系统。

在 1980 年,大多数计算机是由专家管理的大型事物,将它们连接在一起“是非常困难的”。在那个时代,开发软件的成本是这样的,一个程序“监听”另一个程序获得的好处是可以忽略不计的:此时几乎没有计算机,同时它们是独立的,它们所有的工作和金融无关。

X-Window 开发于这种环境下,通过一系列扩展,它已经适应了许多变化。但它本质上是不安全的:任何应用程序可以知道显示了什么(并影响它)。你可以编写像 Xeyes(用“眼睛”跟踪光标)或“Tickeys”(通过键盘来生成打字机噪声)等应用程序。现实是,任何应用程序可以跟踪和操纵几乎所有的事情。这就是基于 X 的桌面如 Unity 7、Gnome、KDE及其它桌面工作的方式。

X-Window 中窗口管理的开放性质不适合用于具有数百万计算机连接到因特网的世界,它们用于信用卡交易和网上银行,且由非专家管理,并自愿安装来自陌生人的程序。人们越来越意识到让 X-Window 适应新的安全性和图形性能的要求是不可行的。

现在至少有两个开源项目旨在提供一个替代品:Mir 和 Wayland。虽然有些人认为两者是竞争关系,但在很多领域,它们有共同的利益:它们都需要与那些之前假定使用 X11 的其它软件交互,并且许多引入支持的工作对两者都有益。

Canonical 的 X-Window 替换品 Mir,它只将信息暴露给它需要的应用程序(因此没有按键监听或光标跟踪)。它可以满足当前时代的需求,并可以利用现代硬件,如图形处理器。


via: https://insights.ubuntu.com/2016/11/28/mir-is-not-only-about-unity8/

作者:Alan Griffiths 译者:geekpi 校对:wxy

本文由 LCTT 组织编译,Linux中国 荣誉推出

随着 Ubuntu 16.10 的发布,Unity 8 越来越吸引到了更多人的关注。这是因为在这个大家最爱的 Linux 发行版的最新版本中可以体验其带有的试验性桌面。桌面发行版是人们最熟悉的 Unity 环境,但有一点点不同。它不再使用 X11 图形技术,Ubuntu 的开发者选择了另一种截然不同的方式。

原来,Unity 8 用的是 Mir,这是 Ubuntu 为了在 Linux 上提供显示服务而做出的努力。这项技术已经在 Ubuntu phone 和平板上大量使用,但是这次新版是我们在桌面环境上第一次见到 Mir 。

这项技术相当新颖,结果是没多少 Linux 程序能运行在它之上。不是所有,那也是大部分的程序设计在 Xorg 和 X11 之上运行。如果你想要试试在 Unity 8 上运行这些程序,你肯定会为在 Unity 8上确实能够运行之前的 Xorg 程序而高兴。接下来是如何做!

登录进 Unity 8

Unity 8 在 Ubuntu 16.10 上是一个可选会话。在使用之前只须牢记一件事情:它不会加载 AMD 的图形驱动,Intel 的同样不会加载。唯一支持的图形驱动是 Nvidia 的开源驱动。要用 Unity 8 的话,只要像往常那样启动 Ubuntu,然后,在登录进去之前,点击用户名上面的 Ubuntu 图标,选择 Unity8 选项。如果万事顺利的话,这个新的、试验性的桌面环境将会加载。

注意: Unity 8 非常新而且不稳定,自行承担使用风险。

安装 Libertine

Xorg 程序(例如 Firefox 等)确实能在 Unity 8 上使用,在使用之前需要一点小调整。在 Mir 桌面上用终端打开 Libertine ,在 Scopes 窗口中点击终端图标就能完成。一旦打开,输入你的密码。接下来,输入以下的命令:

sudo apt install libertine-tools libertine-scope libertine

当这些程序完成安装后,点击并拖动 Scopes 窗口以刷新内容。然后,在面板上点击来启动 libertine。

新建 Xorg 容器

打开 Libertine,就可以新建一些(应用)容器了。这些容器很特别,因为它们能让基于 X11 的 Linux 程序在 Mir/Unity 8 桌面上的容器之中运行。另外,如果需要支持 32 位应用,勾选“i386 multiarch support”复选框。否则,什么都不要动(或者输入名字和密码),点击“OK”。

在这之后,这个 Xorg 容器就准备好,可以使用了。在 Libertine 找到它并启动。删除也很容易,右键点击容器,选择“删除”选项。

注意:每一个 Xorg 容器有 500 MB的最大内存限制。所以多个容器是有必要的。

安装软件

在 Libertine 容器中安装软件有两个方法。第一种是允许用户启动容器后选择“输入包名或者 Debian 文件”,这意味着用户可以在软件中心或者终端找到一个软件的名字,然后在 Libertine 中输入它来安装。也可以指定特定的 DEB 文件来安装,可以在Libertine LXC 容器中直接搜索安装包。

注意:Unity 8 非常新,一些程序或许不能在 Libertine 里加载或者完全安装。

结论

Unity 8 展现了不少的新特性,它现代、时髦,而且比之前任何一个 Unity 迭代版本都快。唯一限制它的就是使用率。事实是大部分用户更乐意选择实用的应用程序,而不是一个别致新颖的桌面环境。某种程度上来说,使用 Libertine 能解决这个问题,但它不会永久有效。早晚有一天,Canonical 都需要自行移植这些程序或者向社区求助来彻底解决这个问题。


via: https://www.maketecheasier.com/use-old-xorg-apps-unity-8/

作者:Derrik Diener 译者:ypingcn 校对:wxy

本文由 LCTT 组织编译,Linux中国 荣誉推出

头条消息

即将到来的 GNOME 3.22 中,各个主要应用都逐步就绪:比如,“游戏”应用会支持 Atari 2600 和 Atari 7800 游戏;“日历”应用可以使用拖放来移动事件;“控制中心”应用也重新打造了等等。

Ubuntu 的 Mir 显示服务器将在 0.24 版本中完全支持 Vulkan API,在当前发布的版本 0.22.1 中已经初步支持了。更多详情

SeeedStudio 发布了一款树莓派 3 的替代品: 狗骨头之绿色无线版 BeagleBone Green Wireless ,内置 Wi-Fi 和低功耗蓝牙。该产品已经可以预定,零售价 $44.9。

版本更迭

  • systemd 发布 230 版本,这个版本中,systemd 所接管的解析器进程 systemd-resolved 将默认打开 DNSSEC。
  • Q4OS 1.4.10 发布。它是一款基于 Debian 的发行版,采用 Trinity 桌面环境(TDE),新版本引入了“Bourbon”开始菜单,这是一个双面板的、可高度定制的开始菜单系统。
  • Mozilla Firefox 46.0.1 已经放到了 Ubuntu 的软件库中,然而 Mozilla Thunderbird 的最新稳定版 45 并没有一同出现,目前 Ubuntu 软件库中仍然是很老的 Mozilla Thunderbird 38.8.0,至于原因则不得而知。当然,你可以自己手工升级使用最新版本:sudo apt-add-repository ppa:mozillateam/thunderbird-nextsudo apt-get update && sudo apt-get dist-upgrade
  • Ubuntu 16.04 LTS 中的 KDE 用的是 KDE Plasma 5.5 和 KDE Applications 15.12,然而最新的 KDE 版本已经是 5.6.4 了。不过, Kubuntu 和 KDE 开发者 Marcin Sągol 宣布 Kubuntu 用户可以不用等待了,可以使用如下命令来升级到最新的 KDE 5.6.4 :sudo apt-add-repository ppa:kubuntu-ppa/backports
    sudo apt update && sudo apt -y full-upgrade

很多人可能已经知道,Canonical 正在积极开发它的 Unity 用户界面,并将其用在 Ubuntu 桌面上。

Unity 8 是流行的 GNU/Linux 操作系统 Ubuntu 的下一代 Unity 桌面环境,Canonical 创始人 Mark Shuttleworth 之前说它马上就可以用了,并在即将到来的 Ubuntu 16.10 中会默认安装。

默认安装并不代表着它是默认桌面,Unity 7 仍将是 Ubuntu 16.10 的主要桌面环境。Ubuntu 16.10 将在今年的 10 月 20 日揭晓。当然,新的 Unity 8 环境在该版本发布后就可以直接切换使用了,不需要用户自己额外安装软件。

Canonical 已经在它的 Ubuntu 智能手机和平板上使用 Unity 8 用户界面获得了巨大成功,Unity 8 是由 Canonical 开发的 Mir 显示服务器所支撑的。现在这些新技术正在移植到 Ubuntu 桌面上,新功能请求也提交到了 Launchpad 上了。

Mir 0.24 中完全支撑 Vulkan

Mir 当前版本是 0.22.1,但是据 Emanuele Antonio Faraone 在 2016 年 1 月提交的功能请求,希望 Ubuntu 开发人员能够在 Mir 显示服务器和 Ubuntu 的系统镜像中完全支持 Vulkan 库的这一想法,已经得到了 Canonical 的首肯,看起来就快成为了现实。

Vulkan 是一个跨平台的 2D 和 3D 绘图应用程序接口(API),最早由 Khronos Group 在2015年游戏开发者大会(GDC)上发表。就像 OpenGL,Vulkan 针对实时 3D 程序(如电子游戏)设计,Vulkan 并计划提供高性能和低 CPU 管理负担(overhead),这也是 Direct3D 12 和 AMD 的 Mantle 的目标。Vulkan 兼容 Mantle 的一个分支,并使用了 Mantle 的一些组件。

“过去几周已经初步集成了 Vulkan(Mesa),但是使用了一些私有头文件,” Mir 显示服务器项目负责人 Cemil Azizoglu 说,“还需要发布一些新的的 Mir 接口,当它们发布到开发主干上后,然后就可以准备放到正式版本了(0.24)。”

在写作此文时,Canonical 已经将完全支持 Vulkan API 作为当前正在开发的 Mir 0.24 的里程碑目标了。不过从上面的引述可以看到,Mir 中的 Vulkan 支持还需要不少开发工作。

如果你一直关注新闻,那么就知道Ubuntu将会切换到带有Unity 8桌面的Mir显示服务器。然而,在尚未确定运行在 Mir 上的Unity 8是否会出现在Ubuntu 15.10 Willy Werewolf之前,有了一个Unity 8的预览版本可供你体验和测试。通过官方PPA,可以很容易地安装Unity 8到Ubuntu 14.04,14.10和15.04中

到目前为止,开发者已经可以通过ISO(主要途径)获得该Unity 8预览来进行测试。不过Canonical也通过LXC容器发布了它。通过该方法,你可以使用Unity 8桌面会话,让它像其它桌面环境一样运行在Mir显示服务器上。就像你在Ubuntu中安装Mate桌面,然后从LightDm登录屏幕选择桌面会话一样。

想要试试Unity 8?让我们来看怎样安装它吧。

注意: 它是一个实验性预览,可能不是所有人都可以让它正确工作的。

安装Unity 8桌面到Ubuntu

下面是安装并使用Unity 8的步骤:

步骤 1: 安装Unity 8到Ubuntu 12.04和14.04

如果你正运行着Ubuntu 12.04和14.04,那么你必须使用官方PPA来安装Unity 8。使用以下命令进行安装:

sudo apt-add-repository ppa:unity8-desktop-session-team/unity8-preview-lxc
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install unity8-lxc

步骤 1: 安装Unity 8到Ubuntu 14.10和15.04

如果你正运行着Ubuntu 14.10或15.04,那么Unity 8 LXC已经在源中准备好。你只需要运行以下命令:

sudo apt-get update
sudo apt-get install unity8-lxc

步骤 2: 设置Unity 8桌面预览LXC

安装Unity 8 LXC后,该对它进行设置,下面的命令就可达到目的:

sudo unity8-lxc-setup

它将花费一些时间来设置,所以,耐心点。它会下载ISO,然后解压缩,接着完成最后一些必要的设置来让它工作。它也会安装一个LightDM的轻度修改版本。这一切都搞定后,需要重启。

步骤 3: 选择Unity 8

重启后,在登录屏幕,点击你的登录旁边的Ubuntu图标:

你应该可以在这看到Unity 8的选项,选择它:

卸载Unity 8 LXC

如果你发现Unity 8毛病太多,或者你不喜欢它,那么你可以以相同的方式切换回默认Unity版本。此外,你也可以通过下面的命令移除Unity 8:

sudo apt-get remove unity8-lxc

该命令会将Unity 8选项从LightDM屏幕移除,但是配置仍然保留着。

以上就是你在Ubuntu中安装带有Mir的Unity 8的全部过程,试玩后请分享你关于Unity 8的想法哦!


via: http://itsfoss.com/install-unity-8-desktop-ubuntu/

作者:Abhishek 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

目前Unity 8和Mir的开发进度很慢,但是仍在进行中

和其他项目一样,Canonical也在开发Unity桌面环境与Mir显示服务。开发团队刚刚发布了一个小的更新,据此我们可以知道都有些什么进展

Ubuntu开发者可能刚刚集中精力在一些重要的发布上,就像接下来的Ubuntu 14.10(Utopic Unicorn) 或者是新的面向移动设备的Ubuntu Touch,但是他们同样也涉及像Mir以及Unity 8这样的项目。

目前这代Ubuntu系统使用的是Unity 7桌面环境,但是新一代已经酝酿了很长一段时间。它与新的显示服务一起,已经在Ubuntu的移动版中了,但最终也要将它带到桌面上。

这两个项目的领导Kevin Gunn经常发布一些来自开发者的进度信息以及这周以来的一些改变,虽然这些都很粗略。

根据 开发团队的消息, 一些关于触摸/触发角的问题已经修正了,也修复了几个翻译问题,一些Dash UI相关的问题已经修复了,目前 团队在开发Mir 0.8,Mir 0.7.2将被升级,同时一些高优先级的bug处理也在进行中。

你可以下载 Ubuntu Next来体验新的Unity 8以及Mir的特性,但是还不够稳定。要等到成熟还需要一些时间。


via: http://news.softpedia.com/news/Mir-and-Unity-8-Update-Arrive-from-Ubuntu-Devs-459263.shtml

作者:Silviu Stahie 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出