安卓系统流畅体验Linux桌面[自制镜像和脚本已发布]

笔记本/便携移动设备,手机平板等软硬件
回复
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

安卓系统流畅体验Linux桌面[自制镜像和脚本已发布]

#1

帖子 felonwan » 2013-11-10 21:23

首先,感谢本版上的oppop007、 eexpress、lxr1234及photor等人,没有他们的一些讨论的帖子,就没有这个帖子。也感谢所有愿意尝试并反馈意见的人,如果没能帮得上忙我很抱歉,另外特别感谢ljj_jjl2008发展了我的方法。

本文主要内容:介绍如何使用作者在linaro镜像(基于Ubuntu的LXDE桌面)的基础上制作的镜像和脚本,在安卓系统之上chroot进入Linux系统,直接运行原生Xorg和桌面,在退出桌面后又自动回到安卓系统。在笔者自己的机器上能一步进入linux系统,完了注销就自动回到安卓。相比不关闭安卓图形界面的VNC或XServer方式,这种方式流畅度更好。

笔者把整个过程尽量简单化,这是为了激发大家的兴趣。若心情急切或看不懂笔者写的原理什么的,直接跳到第二部分;想深入了解和配置镜像、解决使用过程中出现的问题,请参考第三、四部分并认真看看所下载的脚本(脚本文件的开头写了用法,脚本里每一部分都有注释,都是中文的)。大家尝试之后,能给个反馈意见最好。

不能保证所有的机器都能运行成功,似乎目前能运行起来的大部分是平板,手机基本没戏(一直觉得小小的手机屏幕上玩桌面系统是很蛋疼的一件事,为了不影响手机使用,更推荐你用XServer XSDL,见本贴末尾“题外话”)。不过如果你就是感兴趣、就是爱折腾,那就试试吧!不要指望我能帮你解决一切问题,我不开发软件,只是开源软件的装配工。

水平有限,错误和疏漏在所难免,不当之处还望大家不吝指正。


笔者自行配置的镜像和脚本下载地址:http://pan.baidu.com/s/1jGJtrBw
拍了个简单的视频:http://v.youku.com/v_show/id_XNjM4NzU4NDMy.html

p.s. 此方法使用“Xorg”作为图形服务器,驱动方式为framebuffer,所用的驱动为xserver-xorg-video-fbdev,这个驱动目前并不能在所有安卓设备上都正常运行!!!比如红米手机,用“Xorg :0”这样的命令不能运行X服务器,后面不加vtx时提示找不到/dev/tty(确实没有这个),加了vtx就告诉你不能创建virtual console x。有人能提供一些信息不?最近在考虑不一定用framebuffer驱动,大家也可以试试换显示芯片的驱动。

另外有一大波童鞋放了一大堆信息在帖子里,让我考虑到有必要说明一下:错误信息查看, 用“cat 文件名.err |grep EE”命令,然后你可以把查到的信息放到百度或者谷歌里面去搜哈。俺真不是大神开发者,时间精力有限,各位还要多多发挥自己的主观能动性。

先简单介绍一些安卓上运行Linux桌面系统的方法:
  要在安装有安卓的手机或平板上体验或使用Linux桌面,部分机器可以在TF卡上安装Linux完整的桌面系统,而所有的机器应该都可以直接在安卓系统的基础上运行Linux桌面。我们这里要介绍的是后一种。
  设备的驱动一般会加载到Linux内核里,所以相比TF卡上体验系统,这种方法省了编译安装驱动的麻烦,何况很多厂商并不提供各种驱动的源码。另外这种方式体验Linux桌面不用整个重启系统。
  安卓系统其实是在Linux的内核之上运行了一个Java虚拟机,有Linux内核在,我们需要做的其实很简单:把一个Linux发行版本(arm)的根目录下的文件复制过来,然后运行一个脚本就可以了

  原理很简单,步骤也不多,所需要的只是你多一点点耐心、多一点点尝试和思考,在这个过程中你能学到很多东西。

考虑到文章稍微有点长,加个简单目录。
第一部分:原理
第二部分:步骤
  零、前提
  一、准备工作
  二、正式过程(一步到位)
第三部分:进阶
  一、初步:对脚本的解释
  二、定制:配置属于自己的镜像
  三、调试:手动启动Linux桌面
  四、扩展:安装其它桌面和使用其它的镜像
  五、高级:更换驱动
第四部分、问题
  一、没看到linux桌面就直接重启安卓了
  二、执行命令后黑屏,系统再没反应
  三、操作及输入问题:触摸屏及键盘鼠标
  四、亮度调节
  五、声音、网络:权限导致的一些问题。
  六、系统没有stop、start或daemonize命令
题外话:推荐使用应用XServer XSDL及Linux Deploy



第一部分:原理
  一句话总结:chroot到Linux根文件系统,运行VNC服务或X窗口服务,然后运行桌面。
  
  分开来说也就三步:
  1. 复制任意Linux发行版(arm架构)的根文件系统,也就是“/”目录下的所有文件,复制的文件系统可以放在一个镜像文件,也可以直接放在兼容Linux的分区上,比如:ext2、ext3、ext4等;
  2. 在安卓下把上面复制的文件系统挂载到一定目录,利用程序chroot,让Linux内核把这个目录当作根目录“/”;
  3. 先运行图形服务器,比如VNC服务或X服务,在图形服务器的基础上运行Linux桌面系统。使用VNC服务的话,需要用安卓下的VNC客户端连接这个桌面;运行X服务器,桌面就直接运行在X服务器上。
  
  VNC服务器方案比较容易实现,通用性最好,最重要的是不影响安卓系统使用。但是VNC也有一个缺点,效率不高,配置差的设备就很不流畅。所以VNC适合性能特别好的机器用。而现在安卓上的X服务器也有比较成熟的,比如XServer XSDL,相对来说比VNC效率要高一点,适合性能稍好的机器。
  和上面两种方案相比,笔者现在给出的X服务器方案使用前需要先关闭安卓的图形界面,就是暂时你不能用安卓了。但是,X服务器效率要高很多!机器性能不佳的话,比如说我的平板CPU是Cortex-A8单核1.0GHz的CPU,使用X服务器要流畅很多。有需要的时候,我们只要关闭图形界面,就可以重新回到安卓界面,不像TF卡上的系统,还要重启机器外加按各种按键。




第二部分:步骤

零、前提
  前提是你的安卓手机或平板已经root!

一、准备工作
  1. 下载脚本和镜像
  下载地址再贴一遍:http://pan.baidu.com/s/1jGJtrBw
  这一步我们下载镜像文件和脚本:XF_Desktop.zip中放的脚本,linaro_felonwan_20131123.zip里有镜像文件(不支持ext4的老机器,请下载linaro_felonwan_20131123_ext2.zip文件)。下载后都解压,镜像文件夹里面有md5和sha256校验码,如果不放心就做个校验。没有问题的话,就把解压后的linaro.img这个镜像文件和所有脚本文件直接放到手机或平板里,比如说/sdcard目录下。

  2. 安装必要的软件
  我们只需要在安卓上安装Busybox和终端应用就可以了,安卓下的终端应用很多,我们这里使用简单一点的“终端模拟器”。
  

二、正式过程
   一步搞定
  我们先来个一步搞定,使用上面我已经配置好的镜像和相应的脚本。(笔者做好了的菜,你只需要吃就行了。)
  我们在安卓下打开“终端模拟器”,接下来输入:  

代码: 全选

su
mkdir /data/linaro
daemonize sh /sdcard/xfdesktop /sdcard/linaro.img /data/linaro startlubuntu
  如果不出问题,我们就应该能够进入到LUbuntu桌面了。出问题的话,先参考下面第三章第一节。

这个桌面已经具有基本的功能:可以用midori或chrome浏览器上网浏览网页、看个pdf文件、用abiword写个简单的文档、用mplayer看个本地的电影、听个本地音乐什么的都有了,/sdcard目录下是sd卡的内容,如果有TF卡需要挂载,把xfdesktop里关于tf卡部分的注释去掉就可以了。要退出Lubuntu桌面,只需要注销掉Logout就会自动重启回到安卓图形界面了。
  

  以后如果想不输命令自动进入ubuntu桌面,可以在“终端模拟器”的设置里面把“初始命令”改成:
  

代码: 全选

su -c 'daemonize sh /sdcard/xfdesktop /sdcard/linaro.img /data/linaro startlubuntu'
  不过推荐你用“ConnectBot”应用,它可以建多个不同的终端,分别用不同的初始命令。而对于“终端模拟器”,这样做了以后,你一打开它就只能进ubuntu而不能进安卓的命令行了。


  上面的过程出现问题,或者想要深入了解原理,或者你想配置其它linux镜像,就请仔细看看下面的第三章吧。




第三部分:进阶
  这部分供有兴趣或遇到问题的人看,大家可以查看提供的每个脚本内容,基本每一部分的功能笔者都加了简单的中文注释,应该不难看懂。有什么不懂的尽管问,笔者有空就会回答,也希望大家能互助,读者能自己多思考、尝试和上网搜索答案。折腾重在过程,出了点问题就想完全由别人解决,自己完全不想动脑动手的心态不可取。


一、 初步:对脚本的解释
  
  1.1. 安卓的图形系统以FrameBuffer(FB,也就是帧缓冲)的方式使用图形设备,我们运行原生的X服务器就是利用了它的这个设备。安卓默认FB设备是/dev/graphics/fb0,在xorg.conf里的devices那段中可以看到。
  
  1.2. xfdesktop脚本和chimg脚本内容相似,区别在于:
  第一、chimg脚本在chroot的时候执行的命令是/bin/bash,就只是进入命令行,而ubdesktop直接使用xfinit脚本进入桌面;
  第二、xfdesktop在chroot命令后面的行中有启动安卓界面、停止Linux相关服务并卸载目录和镜像的命令,而chimg只有最后一项;
  第三、需要用安卓daemonize命令使xfdesktop成为后台服务,这样在chroot后才能在退出桌面后重新启动安卓界面。chimg脚本只是在终端里面运行,不关闭安卓的界面,所以不需要这些。

  1.3 chimg和xfdesktop脚本文件中,在卸载目录的命令前有一行sleep 15s,这15秒用来等待关闭Chroot的系统中运行的程序。机器性能差的时间需要设置得长一些,性能好的可以改短一些。
  
  1.4 xfdesktop脚本名后面可以带三个或四参数;参数linaro.img是镜像名,你有不止一个镜像时,改成你想用的那个镜像的名字就行;参数/data/linaro是镜像的挂载目录;参数startlubuntu是启动Lubuntu桌面的命令,可以换成其它桌面环境命令,比如用openbox就会启动一个只有黑乎乎的屏幕和右键菜单的界面。
  
  1.5 chdir脚本,比普通的chroot多了一些环境变量设置,用于切换到正在运行的系统中,当然是从另开的一个adb shell或ssh终端里。用处举例:比如系统正在运行但不响应了,你可以进去top一下看看哪些进程占用CPU;又比如这边手动启动了Xorg,并不是后台方式运行的,又不想关掉它,这时就可以chdir进去运行桌面什么的。

  
二、定制:配置属于自己的镜像
  如果不使用笔者已经配置好的系统镜像,可以定制属于自己的镜像。(你可能觉得笔者做的菜不合胃口,想加点别的佐料什么的,比如对你来说味淡了,要加盐。)
  
  1. 笔者的配置方案:
  我们接下来就把笔者配置镜像的过程走一遍,除了安装软件的命令可能不一样,对于其它Linux系统镜像是类似的。

  先下载镜像,笔者使用的是Linaro alip镜像13.08(基于ubuntu 13.04):http://releases.linaro.org/13.08/ubuntu ... mages/alip,下载linaro-raring-alip-20130826-474.tar.gz压缩包,包里面只有一个binary目录下面,下面放的就是系统文件,把这个目录做成img镜像就可以用了。当然,你也可以尝试把文件系统直接放在TF卡的非fat分区。 

  除了上面用到的xfdesktop,这里就要用到其它脚本了,所以先解释一下其它四个文件的作用:xfinit脚本用于启动X服务器Xorg,xorg.conf是Xorg的配置文件,这两个文件已经放在笔者的镜像中了。chimg可以挂载镜像并chroot到相应目录,也就是进入Linux系统的命令行;而chdir则用于chroot直接进入已经挂载好的目录。我们需要先用chimg脚本进入Linux系统的命令行,把myxinit和xorg.conf放到镜像文件里的相应目录下。

在终端中,依次输入:

代码: 全选

su
mkdir /data/linaro
cd sdcard
sh chimg linaro.img /data/linaro
  这时,如果看到下面的提示就说明你chroot成功了:

代码: 全选

net.ipv4.ip_forward = 1
Your Linux pad can be accessed from the IP:
wlan0: ip xxx.xxx.xxx.xx mask 255.255.255.0 flags [up broadcast running multicast]
root@LinuxPad:~ $
  
  这时,我们已经可以使用很多ubuntu的命令行工具了,比如说:用apt-get install安装各种软件、用gcc编译程序、如果安装了latex,还可以编译Latex文档。
  
  我们先干完复制脚本和配置文件的工作:

代码: 全选

cp /sdcard/xfinit /usr/bin/
cp /sdcard/xorg.conf /etc/X11/
chmod +x /usr/bin/xfinit
  
  然后就开始安装一些必要的软件:

代码: 全选

apt-get update
apt-get install xserver-xorg-video-fbdev xserver-xorg-input-evdev xvkbd
sync
exit
  
  这时我们就可以像第一章那样启动桌面。

  当然,笔者在linaro的镜像里面还装了一些软件,这在那个镜像的压缩包里都有说明,但是使用FrameBuffer的Xorg的话,安装上面三个软件就够了(linaro的这个rootfs已经安装了Xorg,我们就不用装了)。
  
  2. 使用其它桌面和镜像
  在chroot的Linux系统里,你完全可以安装其它的桌面,比如xfce,gnome, kde等。只需要在xfdesktop后面带的参数中的startlubuntu换掉就可以了。不过这里使用的命令有一个很强的要求,就是它要能“hold住”,如果它执行一下就完了,没有在当前这条命令上停住的话,就会把xfinit整个脚本执行完,然后就退出了chroot环境回到xfdesktop重启安卓了。另外,Linaro的这个镜像可以使用startlubuntu-nexus7,startlubuntu-netbook,有惊喜哦。

  镜像资源嘛,Linux on Android项目有一大波可用的Linux桌面系统(也就是上文中提到的“Complete Linux Installer”应用所用到的镜像),http://sourceforge.net/projects/linuxonandroid/files/(我之前用过Ubuntu 13.10的Large镜像,用的KDE桌面,界面漂亮,关掉大部分特效后在我的单核1G主频1G内存的平板上使用也还算流畅,不过13.10出来还不久,还不稳定,有各种小问题,比如说“开始”菜单中的“应用程序”不见了。

  Linux on Android项目的镜像都使用VNC,所以如果要使用原生Xorg的话,都得按照我第二部分的方法自行配置。可以在它的基础之上,直接修改它的项目镜像里的/root/init.sh文件来选择使用VNC、XServer XSDL还是Xorg,这个功能有兴趣的网友可以自己去做下。

另外,debian或是ubuntu的定制有完整的教程,大家可以参考ljj_jjl2008的帖子或者网上找其它的帖子。


三、调试:手动启动Linux桌面
  上面我们已经配置好了镜像,事实上就能启动Linux桌面了。但是要一步步手动启动桌面,我们必须要用adb或ssh连接安卓命令行,网上教程很多,大家自行搜索解决吧。
  用adb或ssh连接好后,在使用chimg脚本前,先输入

代码: 全选

stop
关掉安卓图形界面。然后和第1小节一样,使用chimg命令chroot到linux的命令行,确定进入了linux命令行后,执行下面的命令:

代码: 全选

xfinit startlubuntu
  实际上xfinit脚本很简单,如果出问题,我们可以一步步输入里面的关键内容,检查问题出在哪儿:

代码: 全选

nohup Xorg :0 vt1 1>x.log 2>x.err &
nohup xvkbd 1>xk.log 2>xk.err&
nohup startlubuntu 1>sl.log 2>sl.err &
  你可以使用”cat 文件名“查看log和err文件的内容,或者使用命令”cp *.log *.err /sdcard/“把所有信息保存到sd卡再在论坛里上传或贴出来,让大家帮忙诊断问题。
  

五、高级:更换驱动
这里说的驱动主要是触摸屏输入驱动,另外是换显卡驱动(这个笔者还没试过)。
一句话:改xorg.conf文件。

  1. 触摸屏输入驱动
  触摸屏的驱动其实已经在内核里了,触摸屏驱动会向内核报告触摸信息,问题就是需要一个“中间人”,它要告诉XServer怎么使用这些信息。

  1.1. 安装X服务器的input驱动
  先装通用的evdev驱动,这是真正的以触摸屏的方式来操作设备的驱动;
  如果不行可以装一下mtrack或mulltitouch(这两个有冲突,只能装其中一个),这是多点触控板的驱动;
  再不行或者你的平板本来就是单点触控的话,就装tslib,这是单点的触摸驱动。
  包的名字格式都一样的:“xserver-xorg-input-*”,后面的“*”换成这上面说的四个驱动中的任意一个就行了。

  1.2. 在xorg.conf里面使用告诉Xorg使用哪个驱动
  注意安装相应的驱动后,要使用那个驱动,就把/etc/X11/xorg.conf里面的相应行取消注释,把其它的都注释掉:

代码: 全选

#Driver "multitouch"
Driver "evdev"
#Driver "mtrack"
#Driver "tslib"
  2. 更换显示驱动
  这部分笔者不知道能怎么改,主要是不知道什么驱动能用,怎么用。看:

代码: 全选

Section "Device"
  Identifier "Card0"
  Driver "fbdev"
  Option "fbdev" "/dev/graphics/fb0" #linuxdeploy
  #Option "Rotate" "UD"  #or "CW" or "CCW"
EndSection
  如果你的屏幕显示方向不对,可以取消掉Option "Rotate" "UD"的注释。“UD”上下颠倒,“CW”顺时针旋转九十度,“CCW”逆时针旋转九十度。这是我知道的。要换显卡驱动,改Driver fbdev。

  另外,本论坛上还有使用Xfbdev或其它较小的framebuffer的方案,不需要xorg.conf配置文件,具体看我的这个帖子:viewtopic.php?f=177&t=450030


  
第四部分、问题

  出现问题,关键是找到问题在哪步,请参考第三部分,尽量找到问题所在。再有实在找不到问题所在,提问时尽量把出现问题的情况说清楚。

一、没看到linux桌面就直接重启安卓了。
  直接重启安卓的原因:
  启动桌面的命令有一个比较强的要求:要能“hold住”!如果“hold不住”,就会重启安卓了!
  具体来说,就是xfdesktop脚本中的chroot命令要能停住,chroot后执行的是xfinit脚本,所以xfinit脚本启动桌面后不能退出,否则就把xfinit执行完了,然后整个chroot命令完成,就会回到安卓命令行,然后接着就会做chroot命令完成后的一系列动作:杀死chroot目录相关的进程,卸载目录绑定和镜像,然后重启安卓图形界面。

  笔者自己配置的镜像里面使用startlubuntu,能在终端里停住,但是用adb shell反而停不住。

  Linux on Android项目的脚本中使用了“bash -i”,这个原理可以参考鸟哥私房菜

  由于笔者的脚本已经可以使用不同的命令来启动桌面,所以笔者没有做其它处理。自行尝试不同的启动桌面的命令吧,笔者目前也没有完美的解决办法。


二、执行命令后黑屏,系统再没反应
  可能是没有daemonize命令,也可能是基于Framebuffer运行Xorg出错,或者执行启动命令等出错。
  没有daemonize命令,直接在共享的脚本里有。(本贴18楼没必要再看了:viewtopic.php?f=177&t=451917&start=15
  Xorg出错的话,请参考笔者在本贴16楼的回复。viewtopic.php?f=177&t=451917&start=15
  启动桌面命令出错,参考上面的第1小节,以及下面第三节第3小节。


三、操作及输入问题
  1. 触摸屏用不了
如果触摸屏用不了,首先看上第三部分第五节“触摸屏输入驱动”。笔者已经安装了虚拟键盘xvkbd。有wifi能上网的话,可以考虑使用synergy软件来使用PC的键盘和鼠标,操作更方便
  
  2. 虚拟键盘和物理键鼠
  默认的xfkbd操作方式不是很好,需要设置:“xvkbd”-->“Property...”-->“Automatic Click”改大或者改成“OFF”,大概就符合一般的使用习惯了。
  Linux有一些虚拟键盘程序,都不怎么完美,看你用什么桌面。gnome用onboard很好、kde下有kvkbd,轻量级桌面machbox有machbox-keyboard、xvkbd所有的桌面类型都能用。
  桌面环境比较适合使用物理键盘和鼠标,如果没有无线键鼠,可以用pc的键盘鼠标。用软件synergy就可以实现,在pc上安装quicksynergy,确保二者在一个局域网或者服务器有公网IP,设置某个方向的客户端名为pad(笔者的脚本里用的是pad,所以这里也要叫pad);然后在平板或手机的Linux系统里安装synergy,然后在启动桌面的命令“/system/bin/sh /sdcard/xfdesktop /sdcar/linaro.img /data/linaro startlubuntu”后面加上synergy服务器的IP就可以了。另外,在平板或手机里安装quicksynergy的话,可以在图形界面用平板做客户端。当然也可以做为synergy服务器,这样有一个好玩的用途就是可以用平板作为PC的画图板。


四、亮度调节
  看有没有Linux的驱动接口,我的平板上没有,但是红米手机有,在/sys/class/backlight/里面(再下去的具体路径不同设备不一样)。


五、声音、网络
  笔者的直接可以使用。如果有问题,可能是权限的问题,请参考:http://archlinuxarm.org/forum/viewtopic.php?f=9&t=4611
  ping命令不能使用,和上面的声音问题一样的处理方式。
  另外,我的机器用start命令重启安卓界面后必须关一次屏幕再开关一次wifi,Wifi才能用。


六、stop、start和daemonize命令
  安装Busybox Pro应该就有stop和start命令吧,没有daemonize命令的话,直接把下载网址里的下载下来,放到/system/bin或/system/xbin目录下。


题外话:推荐使用应用XServer XSDL和Linux Deploy
推荐XServer XSDL,这是一个安卓上的X服务器,就是说运行在安卓虚拟机的上的X服务器,虽然效率要比直接运行Xorg这个原生X服务器要差点,但是比VNC方式似乎是要好一点的,可以使用24位色。这是一个性能和使用体验折衷的方案,方便性和VNC一样好。使用方法其实跟这个教程类似,用的脚本变一下就好了,可以参考本人或ljj_jjl2008帖子
viewtopic.php?f=177&t=452977
viewtopic.php?f=177&t=460327

  对于实在不想折腾的小白们,推荐傻瓜式的Linux Deploy:viewtopic.php?f=177&t=463818
  
  Linux Deploy的参数还是有点多,如果对安卓下chroot运行Linux桌面的原理不怎么熟的话,看看我写的原理、过程的主要步骤,大概能帮你理解怎么改这些参数。如果能再一步步按教程操作一下就更好了,最终当你在安卓上运行起来Linux桌面,会很有成就感。这就是所谓的Linux的自己动手的精神吧,跟自己炒菜做饭一个道理。



虽然脚本在上面的共享地址里已经有了,这里还是把所有的脚本放上来,方便坛子里的朋友直接下载:
XF_Desktop.zip
安卓上用于启动Linux桌面所有的脚本
(4.74 KiB) 已下载 1048 次
警告:此文中所列软件没有任何担保,笔者也不对使用它的任何后果承担责任。这是自由软件,你可以基于GPLv3协议规则自由下载、修改、分发。
上次由 felonwan 在 2015-01-11 22:36,总共编辑 87 次。
头像
速腾1994
论坛版主
帖子: 17379
注册时间: 2008-11-01 20:43
系统: Arch+gnome

Re: 安卓系统流畅体验Linux桌面

#2

帖子 速腾1994 » 2013-11-10 21:42

太简单了支持帮顶
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

Re: 安卓系统流畅体验Linux桌面

#3

帖子 felonwan » 2013-11-10 21:57

速腾1994 写了:太简单了支持帮顶
:em09 等大家试了管用才好。
adqiy
帖子: 8
注册时间: 2013-10-10 0:03
系统: ubuntu1204

Re: 安卓系统流畅体验Linux桌面

#4

帖子 adqiy » 2013-11-10 23:38

看了,学习了,有时间把镜像下载下来试试……
ronon
帖子: 10
注册时间: 2013-06-09 12:46
系统: xubuntu

Re: 安卓系统流畅体验Linux桌面

#5

帖子 ronon » 2013-11-11 12:20

:em11 有空试试看你这个
fuxixi1991
帖子: 6
注册时间: 2011-12-04 12:49

Re: 安卓系统流畅体验Linux桌面

#7

帖子 fuxixi1991 » 2013-11-19 22:52

楼主,你好。我的Android没有daemonize这个命令,我直接执行sh ubdesktop openbox-kde-session ub.img /data/ubuntu 黑屏后Android桌面重启,我看了脚本,估计是没有后台的原因。怎么搞到一个daemonize啊
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

Re: 安卓系统流畅体验Linux桌面

#8

帖子 felonwan » 2013-11-19 23:09

fuxixi1991 写了:楼主,你好。我的Android没有daemonize这个命令,我直接执行sh ubdesktop openbox-kde-session ub.img /data/ubuntu 黑屏后Android桌面重启,我看了脚本,估计是没有后台的原因。怎么搞到一个daemonize啊
这个应该是有daemonize命令的情况吧,但是在openbox-kde-session那儿没在停住或是出错了,然后就执行chroot退出后的start命令重启安卓界面了。你下的那一个镜像呢?可以用我的chimg脚本先进命令行看一下,有没有这个openbox-kde-session这个命令,看看执行后的结果是什么。其实如果有电脑的话,最好在使用那个脚本之前用adb或ssh连接先运行myxinit脚本测试一下。
fuxixi1991
帖子: 6
注册时间: 2011-12-04 12:49

Re: 安卓系统流畅体验Linux桌面

#9

帖子 fuxixi1991 » 2013-11-20 10:42

felonwan 写了:
fuxixi1991 写了:楼主,你好。我的Android没有daemonize这个命令,我直接执行sh ubdesktop openbox-kde-session ub.img /data/ubuntu 黑屏后Android桌面重启,我看了脚本,估计是没有后台的原因。怎么搞到一个daemonize啊
这个应该是有daemonize命令的情况吧,但是在openbox-kde-session那儿没在停住或是出错了,然后就执行chroot退出后的start命令重启安卓界面了。你下的那一个镜像呢?可以用我的chimg脚本先进命令行看一下,有没有这个openbox-kde-session这个命令,看看执行后的结果是什么。其实如果有电脑的话,最好在使用那个脚本之前用adb或ssh连接先运行myxinit脚本测试一下。

我在电脑用adb shell 成功进入桌面了,只是在平板的终端进不去。
现在就是触摸驱动还是搞不好,楼主能不能详细的解释一下触摸驱动啊
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

Re: 安卓系统流畅体验Linux桌面

#10

帖子 felonwan » 2013-11-20 23:20

fuxixi1991 写了: 我在电脑用adb shell 成功进入桌面了,只是在平板的终端进不去。
现在就是触摸驱动还是搞不好,楼主能不能详细的解释一下触摸驱动啊
在openbox-kde-session那儿停不住,可以试下openbox,或者在后面加一条bash -i(Complete Linux Installer的脚本这么干的,不过我用另外的一个镜像试了下不成功。)。

触摸屏的驱动其实已经在内核里了,问题就是中间层的驱动,就是要告诉XServer怎么使用触摸屏驱动向内核报告的信息。
1. 安装X服务器的input驱动
先装通用的evdev驱动,这是真正的以触摸屏的方式来操作设备的驱动;
如果不行可以装一下mtrack或mulltitouch(这两个有冲突,只能装其中一个),这是多点触控板的驱动;
再不行或者你的平板本来就是单点触控的话,就装tslib,这是单点的触摸驱动。
包的名字格式都一样的:“xserver-xorg-input-*”,后面的“*”换成这上面说的四个驱动中的任意一个就行了。

2. 在xorg.conf里面使用告诉Xorg使用哪个驱动
注意安装相应的驱动后,要先把/etc/X11/xorg.conf里面的驱动换一下:

代码: 全选

 
#Driver "multitouch"
Driver "evdev"
#Driver "mtrack"
#Driver "tslib"
上次由 felonwan 在 2013-11-21 2:10,总共编辑 3 次。
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

Re: 安卓系统流畅体验Linux桌面

#11

帖子 felonwan » 2013-11-20 23:44

fuxixi1991 写了: 我在电脑用adb shell 成功进入桌面了,只是在平板的终端进不去。
现在就是触摸驱动还是搞不好,楼主能不能详细的解释一下触摸驱动啊
谢谢你的提议,已经加到帖子的最后。
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

Re: 安卓系统流畅体验Linux桌面

#12

帖子 felonwan » 2013-11-21 1:49

桌面环境用plasma-netbook+openbox相当有意思哦,如果触摸屏能正常使用的话。
felonwan
帖子: 262
注册时间: 2008-09-12 12:32

Re: 安卓系统流畅体验Linux桌面

#13

帖子 felonwan » 2013-11-21 22:24

fuxixi1991 写了: 我在电脑用adb shell 成功进入桌面了,只是在平板的终端进不去。
现在就是触摸驱动还是搞不好,楼主能不能详细的解释一下触摸驱动啊

你用ubuntu-13.10.LARGE.ext4.img这个镜像了么?有没有出现过“开始”菜单栏那个应用程序的列表看不到的情况?
fuxixi1991
帖子: 6
注册时间: 2011-12-04 12:49

Re: 安卓系统流畅体验Linux桌面

#14

帖子 fuxixi1991 » 2013-11-24 18:58

felonwan 写了:
fuxixi1991 写了: 我在电脑用adb shell 成功进入桌面了,只是在平板的终端进不去。
现在就是触摸驱动还是搞不好,楼主能不能详细的解释一下触摸驱动啊

你用ubuntu-13.10.LARGE.ext4.img这个镜像了么?有没有出现过“开始”菜单栏那个应用程序的列表看不到的情况?
是的,鼠标的图标是个黑框,下面的任务栏也是黑的,都是黑的
头像
icelee123
帖子: 811
注册时间: 2011-07-16 19:48
系统: Arch

Re: 安卓系统流畅体验Linux桌面[自制镜像和脚本已发布]

#15

帖子 icelee123 » 2013-11-25 22:36

全志A31 失败 :em20 敲完就死机
其实我是菜鸟、、、
回复