本文詳細(xì)介紹了在Linux操作系統(tǒng)下用Xephyr方式進(jìn)行MeeGo SDK安裝的方法。
介紹? ?? ?? ?
MeeGo SDK由以下部分構(gòu)成:
一個(gè)MeeGo chroot環(huán)境,這包含了一個(gè)基于Xephyr (http://www.freedesktop.org/wiki/Software/Xephyr ) 的MeeGo應(yīng)用程序模擬器(僅支持Linux),一些在Xephyr里啟動(dòng)/停止MeeGo桌面的腳本,以及可以遠(yuǎn)程配置和部署MeeGo設(shè)備的Qt Creator。
一個(gè)啟動(dòng)MeeGo chroot環(huán)境,并運(yùn)行模擬器和Qt Creator的meego-sdk-chroot 腳本。
要安裝MeeGo SDK,最簡(jiǎn)單的方法是下載這些組件的打包版本。這將在下一節(jié)討論。
系統(tǒng)要求? ?? ?? ?
? ?? ???要在Xephyr里運(yùn)行MeeGo模擬器,你需要一個(gè)比較新的Linux發(fā)行版(例如Fedora 11,Ubuntu 9.10)以及Intel的硬件環(huán)境。硬件環(huán)境有以下要求:
CPU: 32bit Intel(r) Atom(tm) or Intel(r) Core(tm) 2 CPU (support for SSSE3)。注意: MeeGo模擬器無(wú)法在不支持SSSE3的CPU上運(yùn)行。
一塊兼容的Intel顯卡。GMA-500,Nvidia,以及ATI的芯片組都無(wú)法提供支持
譯注:這是MeeGo模擬器的要求,不是SDK的要求。我可以在AMD處理器和NV顯卡的機(jī)器上,運(yùn)行 MeeGo SDK ,并正常編譯/調(diào)試程序。
安裝MeeGo chroot環(huán)境? ?? ?? ?
? ?? ???MeeGo chroot壓縮包是一個(gè)大文件(接近800M)。它不僅有MeeGo自身的所有庫(kù)文件,也其他有用的東西(Xephyr, scripts, Qt Creator)。
下載MeeGo chroot壓縮包文件: wget http://download3.meego.com/meego-sdk-0524.tar.bz2
解壓MeeGo chroot壓縮包文件:
sudo tar jxvf meego-sdk-0524.tar.bz2
復(fù)制代碼
另一個(gè)方案是自己創(chuàng)建一個(gè)MeeGo chroot,參見(jiàn)Building a MeeGo chroot on Linux 。??
安裝meego-sdk-chroot腳本? ?? ???
meego-sdk-chroot 腳本會(huì)設(shè)置chroot環(huán)境的掛載點(diǎn),然后用恰當(dāng)?shù)姆绞絾?dòng)root環(huán)境;在離開(kāi)chroot環(huán)境時(shí),它也會(huì)嘗試正確地卸載整個(gè)環(huán)境,并清除在chroot環(huán)境中啟動(dòng)的進(jìn)程。
下載:
wget [url]http://download3.meego.com/meego-sdk-chroot[/url]
復(fù)制代碼
給腳本可執(zhí)行權(quán)限:
chmod +x meego-sdk-chroot
復(fù)制代碼
移動(dòng)到/usr/bin
:
sudo mv meego-sdk-chroot /usr/bin
復(fù)制代碼
為模擬器配置host
下一步,是配置host的X環(huán)境,讓模擬器(在chroot環(huán)境下運(yùn)行)可以正確地顯示在普通用戶(hù)的屏幕上:
xhost +SI:localuser:??(username)??//username使用你現(xiàn)在所使用的用戶(hù)名
(每次重啟后,在運(yùn)行模擬器和Qt Creator之前你都需要執(zhí)行這一步)
進(jìn)入 MeeGo chroot 環(huán)境
meego-sdk-chroot 腳本將設(shè)置一個(gè)MeeGo chroot環(huán)境,并給你一個(gè)該環(huán)境下的shell:
sudo meego-sdk-chroot ~/meego-sdk-0524
復(fù)制代碼
(用你的chroot目錄代替上面的'~/meego-sdk-0524 )注意,這個(gè)腳本使用了chroot命令。有些時(shí)候,root用戶(hù)無(wú)法在PATH環(huán)境變量里定位這個(gè)命令(在Fedora里,chroot命令在/usr/sbin 路徑下)。你可以在meego-sdk-chroot 腳本的頂部添加一行alias,以解決這個(gè)問(wèn)題:
alias chroot='/usr/sbin/chroot'
腳本運(yùn)行后,會(huì)輸出下面這樣的內(nèi)容:
mount --bind /proc /home/ell/meego-sdk-0524/proc
mount --bind /sys /home/ell/meego-sdk-0524/sys
mount --bind /dev /home/ell/meego-sdk-0524/dev
mount --bind /dev/pts /home/ell/meego-sdk-0524/dev/pts
mount --bind /tmp /home/ell/meego-sdk-0524/tmp
mount --bind /var/lib/dbus /home/ell/meego-sdk-0524/var/lib/dbus
mount --bind /var/run/dbus /home/ell/meego-sdk-0524/var/run/dbus
cp /etc/resolv.conf /home/ell/meego-sdk-0524/etc/resolv.conf
root@meego-netbook-sdk:/#
復(fù)制代碼
安裝其他軟件
你可以在chroot環(huán)境下正常安裝軟件(和最新的netbook鏡像一樣)。
進(jìn)入chroot環(huán)境,然后執(zhí)行:
zypper install
復(fù)制代碼
下面這個(gè)命令可以將整個(gè)MeeGo鏡像更新到最新版本:
zypper dist-upgrade
復(fù)制代碼
運(yùn)行模擬器
在chroot環(huán)境下,以root的身份執(zhí)行:
startmeego &
復(fù)制代碼
這將啟動(dòng)Xephyr服務(wù)器,并運(yùn)行一個(gè)腳本。這個(gè)腳本在Xephyr里啟動(dòng)一個(gè)MeeGo桌面。如果你想在chroot環(huán)境里啟動(dòng)一個(gè)程序,并顯示在模擬器窗口里,你可以:
DISPLAY=:2 glxgears
(用你想啟動(dòng)的程序名代替glxgears)
在模擬器里Debugging
如果你的模擬器出現(xiàn)了問(wèn)題,可以使用debug腳本,看看具體發(fā)生了些什么:
startmeego-debug
這個(gè)腳本會(huì)在控制臺(tái)輸出一些信息,這些信息應(yīng)該能給你問(wèn)題的線索。
??模擬器里的 Netbook UX 界面 它看起來(lái)像這樣:
已發(fā)現(xiàn)的問(wèn)題:
一些依賴(lài)DBus的工具條組件(比如電池,網(wǎng)絡(luò))無(wú)法報(bào)告設(shè)備的工作狀態(tài)。
停止模擬器
要停止模擬器,只需要離開(kāi)chroot shell:
exit
這會(huì)停止模擬器啟動(dòng)的所有進(jìn)程,并卸載chroot環(huán)境使用的路徑。這會(huì)輸出下面這樣的信息:
exit
umount /home/ell/meego-sdk-0524/proc
umount /home/ell/meego-sdk-0524/sys
umount /home/ell/meego-sdk-0524/dev/pts
umount /home/ell/meego-sdk-0524/dev
umount /home/ell/meego-sdk-0524/tmp
umount /home/ell/meego-sdk-0524/var/lib/dbus
umount /home/ell/meego-sdk-0524/var/run/dbus
Linux下的MeeGo SDK安裝—Xephyr方式
?
評(píng)論
查看更多