新四季網

unity標準資源包可以直接拖進去嗎(Mir並不只是Unity)

2023-05-26 04:52:23

可以不用 Unity 8 也可以使用 Mir。要麼作為替代 shell,要麼作為嵌入式環境的更簡單的界面:信息亭,電子標牌等。 -- Alan Griffiths

本文導航

-使用 MIR …… 29%

-MIR 解決的問題 …… 60%

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

作者: Alan Griffiths

譯者: geekpi

這是一篇來自 Canonical 的軟體工程師 Alan Griffiths 的一篇遊客文章。如果你也想投稿,請聯繫 [email protected][1]

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 「抽象層」證明了這一點,它提供了三個重要的元素:

libmiral.so - Mir 的穩定接口,提供基本的窗口管理;

miral-shell - 一個提供「傳統」和「平鋪」窗口管理的示例 shell;

miral-kiosk - 一個僅提供基本窗口管理的示例「信息亭」。

miral-shell 和 miral-kiosk 示例伺服器可從 zesty 的歸檔文件中獲得,Kevin Gunn 已經在「Voices」上寫了一篇基於 miral-kiosk 的「信息亭」的概覽的博文[2]。我將在下面給出更多關於使用這些例子的細節,但在我的「voices」博客[3]上有更多(包括「如何」開發自己的替代 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[4] 組織編譯,Linux中國 榮譽推出

[1]: mailto:[email protected]

[2]: http://voices.canonical.com/kevin.gunn/

[3]: http://voices.canonical.com/alan.griffiths/

[4]: https://github.com/LCTT/TranslateProject

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了