加载中…
正文 字体大小:

Ubuntu Touch通用运行linux桌面应用方法

(2015-11-04 22:11:30)
标签:

计算机

linux

ubuntutouch

UT中能够运行x11应用已经众所周知,但由于bug较多没有放出官方教程.这里整理出的方法借鉴了google出来的,以及ubuntu ask, google plus上的许多文章,在这里致谢.

0.以下所有的脚本均在nexus7二代 ubuntu touch 15.04 stable channel r2 中经过测试。非常建议使用stable镜像,因为stable中的mir与unity8均比较稳定。本人在使用rc-proposed进行测试时发生了莫名其妙的错误。

1.通过adb shell或ssh将设备连接到pc  具体开启ssh的方法:http://askubuntu.com/questions/601910/ssh-ubuntu-touch

2.搭建xmir环境。xmir没有默认安装在UT系统中,需要添加第三方源获取:
sudo mount -o remount,rw /
将根目录改为读写模式
sudo add-apt-repository ppa:mlankhorst/ppa && sudo apt-get update && sudo apt-get install xserver-xorg-xmir
通过Xmir -help验证安装并获取帮助。

3.添加执行xmir的脚本
nano ~/bin/chromium.sh
其实可以将脚本置于任意你喜欢的位置。内容:
#!/bin/bash
Xmir :0 -sw -flatten -rootless --desktop_file_hint=/home/phablet/.local/share/applications/mediascanner-music.desktop &
sleep 0.5
DISPLAY=:0 chromium-browser --window-size=960x571 --force-device-scale-factor=2
其中第二行用于开启xmir显示服务。:0 指示窗口终端的序号,如果同时开启多个x应用,就需要指定不同的值,不然显示的窗口将会重叠。-sw 选项用于禁止egl加速显示,在nexus去掉此选项(应该)会导致错误,而其他设备则(应该)可以省去这一选项。
--desktop_file_hint 选项用于通过mir的连接。即在启动xmir服务时,默认是无法连接到mir的(至少在nexus设备上如此)。而这一选项可以启用一个mir程序以承载xmir渲染出的图像。事实上,你完全可以使用任何你乐意的desktop文件来承载xmir,比如/home/phablet/.local/share/appllications/mediascanner-music.desktop,因为用于承载的mir应用与你需要启动的xmir服务不需要有任何关系,xmir只不过需要占用一个窗口而已。这里的xmir.sh为一个没有实际内容的desktop
sleep用于给设备以启动xmir的时间
最后一行用于在:0上启动chromium,选项是为了让它看起来比例大一些。
chmod +x ~/bin/chromium.sh

4.修改desktop文件
sudo nano /usr/share/applications/chromium-browser.desktop
添加以下内容
Exec=/home/phablet/bin/chromium.sh
X-Ubuntu-Touch=true


已知的bug:
打开应用时可能发生奇怪的闪烁
无法拖动或缩放窗口。手指拖动会被识别为选择
无法启动屏幕键盘。推测可以用外接键盘操作

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有