Android 是基于Linux内核的开源操作系统,主要用在移动设备上。当然同样是基于Linux内核的操作系统,现在支持的Android的智能手机理论来说都能运行基于Linux的操作系统,比如现在流行的发行版:Ubuntu、Fedora 等等。不仅如此,现在的智能移动设备的硬件也越来越强,更为能运行Linux系统提供了良好的硬件支持。

工具/原料

 
  • Android Terminal Emulator (终端模拟器) :用于运行 shell 脚本 (可在Google Play下安装)

  • BusyBox :用于提供 shell 命令的支持  (可在Google Play下安装)

  • Ubuntu 的映像文件(可在sourceforge网站Linux-on-android项目组下载)

  • bootscript.sh:Ubuntu 的启动脚本(可在sourceforge网站Linux-on-android项目组下载)

方法/步骤

 
  1.  

    首先您的手机需要获取root权限,root是前提。没人获取root权限以下都不能完成。

    下载Ubuntu 的启动脚本bootscript.sh访问sourceforge.net网站在网站上找到一个叫 Linux-on-Android 的项目的Home目录下可以下载到

  2.  

    下载Ubuntu 的映像文件,在Linux-on-Android 的项目在其中找到Ubuntu / 12.04这里我们选择12.04 full下载最新的版本ubuntu1204-v4-full.zip.下载的文件是1.4G解压后有3G多。

    在这里简单介绍一下其他版本:

    full 映像包含了完整的 Ubuntu 系统,其中包括 Unity 桌面,还有很多如GIMP等常用软件,非常齐全。需要 3.5G 以上空间。

    small 映像包含了的基本的 Ubuntu 系统,其中包括 LXDE 桌面,需要 2G 以上空间。

    core 映像包含了基础的 Ubuntu 系统,不过这个没有GUI的,也就是没有桌面只有命令行。

  3.  

    在手机上安装Android Terminal Emulator 终端模拟器软件,可以在Google Play上搜索安装。通过终端我们可以用来执行很多命令和脚本。

  4.  

    在手机上安装BusyBox,BusyBox它可以使得你可以在 Terminal 中运行很多命令,比如 cp、mv、cut 等,如果不能运行这些命令而执行脚本的话,会提示 **: not found 这样的提示。所以安装 BusyBox 可以使得这些命令都能够在终端里面执行。可以在Google Play上搜索安装BusyBox。安装好后,打开BusyBox点击 Install 开始安装,如果弹出需要ROOT权限,点下一步允许就行.

    安装BusyBox以及后面我们在Terminal中都需要 root 权限

  5.  

    安装 ubuntu

    首先把之前下载好的bootscript.sh和ubuntu解压复制到内存卡新建ubuntu目录下,打开 终端模拟器(Terminal) ,在光标处输入 cd /sdcard/ubuntu然后回车进入到ubuntu目录了。

    然后我们可以输入命令 “ls” 然后回车,就可以看到文件了。

  6.  

    bootscript.sh脚本需要root权限来运行,在终端中使用命令 “su” 来切换至 root 用户权限,如果弹出授权信息点击下一步允许就行了,成功后如图之前的“$”变成了“#”,这就说明已经获得Root权限了.

    然后运行启动脚本sh bootscript.sh

  7.  

    然后脚本为你建立了一个名字为“ubuntu”的帐号,这里提示你需要为你的帐号设置一个密码,这个密码会在以后你操作 Ubuntu 的时候一些授权应用到,比如我在这里设置密码为:“ubuntu”,这里注意的是在终端里面输入密码是不会显示出来的,你看见光标没有动静,但实际上你已经输入进去了。回车后提示再次输入密码以保证你两次密码一样,如图:

  8.  

    密码设置完成后,提示是否启动VNC服务和SSH服务,我们只要输入“y”然后回车,开启了这两个服务后我们才能通过远程连接来连上系统,如图:

  9.  

    然后提示我们输入设备屏幕的尺寸,我的屏幕是854×480的,所以我输入“852×480”。注意:这里两个数字之间的不是乘号,而是字母“xyz”的“x”,输错了不能远程连接的,如图:

    如图的提示已经启动了一个新的桌面,提示是否保存你刚才的设置为默认设置,只要输入“y”即可

  10.  

    远程桌面连接

    远程连接工具来连接登录桌面就能看到完整的桌面系统了。这时候我们就要用到前面安装的 Android VNC Viewer 了。按手机的 Home 键回到手机桌面,保持终端还在后台运行。找到 Android VNC 并且打开,然后进行一些简单的配置。Nickname,为你的连接去一个名字如“ubuntu”。Password 为 “ubuntu” 。Address是ip地址,这里我们是在同一台手机上连,所以我们填写“localhost”,当然你想在别的设备上连接当前的设备那就要填写启动时提示的地址。Port 是段口号,默认 5900。还有这里比较重要的是 Color Format,这个是连接的色彩设置,建议设置成“24-bit color (4 bpp)”,要不然画质太低的话画面就惨不忍睹了。

    全部设置好以后,点击 Connect 就可以连接上我们本地已经在运行的 Ubuntu系统了,如图:

install ubuntu on Android mobile phone的更多相关文章

  1. 【Android 应用开发】 Ubuntu 安装 Android Studio (旧版本|仅作参考)

    . 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article ...

  2. try or install Ubuntu on MeegoPad T01

    Ref: Install Ubuntu on Meego Pad T01 with a Live ISO Image MeegoPad T01 has recently been shown to b ...

  3. Ubuntu 配置 Android 开发 环境

    . 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article ...

  4. 2013年Linux周刊读者投票出炉 Ubuntu、Android榜上有名

    摘要:一年一度的Linux周刊读者投票结果已经登于2013第12期.这是Linux爱好者们自己的“奥斯卡”: Linux周刊的小编们列出一系列Linux相关的“最佳项目”进行面向读者的投票.竞选项目包 ...

  5. macbook pro install ubuntu

    https://help.ubuntu.com/community/MacBookPro Determine your hardware revision To determine which ver ...

  6. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  7. Install Ubuntu Server

    进入引导程序以后, 选择Install Ubuntu Server, 安装主菜单如下: 依次配置: 接着 https://www.youtube.com/watch?v=gqLaT01yei0

  8. install ubuntu env

    install ubuntu1, mysql serversudo apt-get install mysql-server2, ssh sudo apt-get install openssh-se ...

  9. Ubuntu中Android SDK Manager无法更新解决办法

    Ubuntu中Android SDK Manager无法更新解决办法http://hi.baidu.com/petercao2008/item/d7a64441f04668e81e19bc1a

随机推荐

  1. JAVA与C++,C与C++的差别

    首先来分析JAVA与C++的差别: JAVA是纯面向对象的语言,而C++是基于面向对象过程的语言. JAVA有着垃圾回收机制.它的语法是C++的子集,即JAVA有的C++都有.而C++有的JAVA不全 ...

  2. 菜鸟学Java(十四)——Java反射机制(一)

    说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...

  3. flink Job提交过程

    https://www.jianshu.com/p/0cdfa2a05ebd http://vinoyang.com/2017/04/02/flink-runtime-client-submit-jo ...

  4. Kprobes

    https://landley.net/kdocs/ols/2007/ols2007v1-pages-215-224.pdf https://www.kernel.org/doc/Documentat ...

  5. python中redis查看剩余过期时间以及用正则通配符批量删除key的方法

    # -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10 ...

  6. DIOCP开源项目-DIOCP3重写笔记-1

    这几天在在重新DIOCP3,基本工作已经初步完成,进入测试阶段,今天加入排队投递,本认为是个很简单的工作,稍微不注意,留了两个坑,调了7,8个小时,刚刚总算找到问题,记录一下, 关于排队投递的流程 这 ...

  7. webpack学习文档

    webpack课程 目录 第1章 webpack简介... 1 1.1    webpack是什么?... 1 1.2    官网地址... 2 1.3    为什么使用 webpack?... 3 ...

  8. decode和encode

    作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...

  9. JAVA-JSP内置对象之config对象

    相关资料:<21天学通Java Web开发> config对象1.config对象可以用来获得Servlet的配置信息. 方法                               ...

  10. python 基础总计 2

    6.函数:      match.sqrt(),lower(),len(),type(),isinstance('a',str),max(),min(),dir(),hex(),setattar(ob ...