AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1332171
Accepted
C.S.Cameron
C.S.Cameron
Asked: 2021-04-18 23:49:30 +0800 CST2021-04-18 23:49:30 +0800 CST 2021-04-18 23:49:30 +0800 CST

如何在我的 Android 手机上为 Arm 设置 Ubuntu Base 映像而无需生根?

  • 772

我想在我的 Android 手机上为 arm设置 Canonical 托管的Ubuntu Base 映像。

我需要一个关于如何开始的简单一步一步的答案。

我希望能够使用 Ubuntu 在我的手机上运行应用程序,而无需 root。

有关应用程序安装,请参阅此问题。

system-installation
  • 1 1 个回答
  • 2491 Views

1 个回答

  • Voted
  1. Best Answer
    Archisman Panigrahi
    2021-04-19T22:02:03+08:002021-04-19T22:02:03+08:00

    在 Termux 中设置 Ubuntu 涉及三个部分,

    1. 安装基础镜像
    2. 安装 DE(我将在此答案中使用 XFCE,因为它对用户友好但不重)和 VNC 服务器
    3. (可选)启用声音,因为 VNC 协议不支持声音

    最简单的方法- 如果您不想弄脏自己的手,请安装Termux,只需下载 Andronix(网站、GitHub)或AnLinux,然后安装 Ubuntu 20.04。这些应用程序提供脚本来下载和提取基础映像、安装桌面环境(例如 XFCE)和设置 VNC 服务器,您只需在 Termux 中复制粘贴即可。

    在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

    Andronix 的用户界面

    如何使用它?

    完成后,输入./start-ubuntu20.sh打开 Ubuntu 的命令,以及exit离开 Ubuntu 的命令。启动 Ubuntu 后,输入vncserver-start启动 VNC 服务器(使用 XFCE 桌面)的命令vncserver-stop和停止它的命令。(不幸的是,它被命名为ubuntu20,虽然它实际上是 Ubuntu 20.04,而不是 Ubuntu Core 20。一旦你了解了脚本的工作原理,你可以将所有内容重命名为ubuntu20.04,或其他任何东西)

    在此处输入图像描述 由于虚假/proc条目,某些条目(例如正常运行时间)是错误的,否则最新版本的 Android 不会让 Ubuntu 工作。

    如何使用 VNC Viewer 访问 XFCE 桌面?

    在 Android 中安装 VNC 查看器应用程序,例如VNC Viewer - Remote Desktop或androidVNC。并打开localhost:5901连接VNC Server的地址。 提示:选择quality: high或24-bit color (4 bpp)以获得更好的图像质量。此外,VNC Viewer - Remote Desktop很好地支持纵向和横向模式。其他 VNC 查看器似乎对纵向模式没有很好的支持。

    xfce 叶状体 在 XFCE 桌面上运行的应用程序。我安装了 Tango 图标主题和 Arc GTK 主题

    但是,这些应用程序将从他们的 GitHub 存储库(他们保存副本的地方)下载 Ubuntu Base,而不是从 Canonical 的网站。 这些应用程序中的所有脚本都可以在免费许可下在其 GitHub 存储库中使用。

    这个脚本有什么作用?

    此脚本会为您的设备架构下载 Ubuntu rootfs 映像,然后将其设置为与 root 一起使用。最新版本的 Android(v10、v11)施加了一些限制,这就是为什么此脚本会创建虚假条目/proc以欺骗 Ubuntu 和 Android 使其正常运行。


    启用声音

    Andronix制作了一个脚本来启用声音。在 termux(非 Ubuntu)shell中运行以下命令。

     pkg install wget && wget https://andronixos.sfo2.cdn.digitaloceanspaces.com/OS-Files/setup-audio.sh && chmod +x setup-audio.sh && ./setup-audio.sh
    

    使用声音

    在 Termux shell 中启动 Ubuntu,然后打开另一个 Termux shell(不要在那里打开 Ubuntu)。在新的 Termux shell(不在 Ubuntu 中)运行pulseaudio --start,现在 Ubuntu 可以播放音频了。音频演示 - Youtube 视频

    请注意,该文件setup-audio.sh是神秘的(可能是因为 Andronix 的竞争对手无法使用它),它的人类可读形式可以在这里找到。它非常神秘,以至于 Unix 和 Linux Stack Exchange 的人们认为它可能是恶意软件,但我已经证实它不是。


    稍微复杂的方法 - 一次将步骤 1. 和 2. 结合起来(但从 Canonical 下载图像,而不是从 Andronix 的 GitHub 存储库)。

    Andronix 有一个自动脚本,用于下载 rootfs、安装 DE,然后设置 VNC 服务器。

    但是,Andronix 脚本从他们的 GitHub 存储库(Ubuntu 20.04(不是 20.04.2)rootfs 的重命名版本)下载 rootfs,而不是从 Canonical 的服务器下载。

    我们将修改脚本以使用来自 Canonical 服务器的图像。首先在 Termux 中安装 wget 和 nano(如果尚未安装),然后下载脚本。

    pkg install wget nano
    
    wget https://github.com/AndronixApp/AndronixOrigin/blob/master/Installer/Ubuntu20/ubuntu20-xfce.sh
    

    现在在 Nano 中打开脚本。

    nano ubuntu20-xfce.sh
    

    更改内容line 29(使用 Hacker 的键盘或 scrcpy - 请参阅提示:#6。否则很难在移动设备中编辑),

    wget "https://github.com/AndronixApp/AndronixOrigin/raw/master/Rootfs/Ubuntu20/focal-${archurl}.tar.gz" -O $tarball
    

    到以下

    wget "https://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.2-base-${archurl}.tar.gz" -o $tarball
    

    现在保存文件 ( ctrl+ x),然后运行它。

    sh ubuntu20-xfce.sh
    

    现在前往如何使用它?以及如何访问 XFCE 桌面?(在答案的前面部分)。您可以选择按照启用声音来启用声音。


    系统要求:

    • 最新版本的 Termux 可用于 Android 7 及更高版本。但是,您可以下载适用于 Android 5 和 6 的稍旧版本的 Termux(我已验证它们可以正常运行)。
    • Ubuntu rootfs + XFCE 桌面消耗约 1 GB 的磁盘空间和约 300 MB 的 RAM。

    安全

    默认情况下,Ubuntu rootfs 无法访问您 Android 手机中的文件。Termux 中的数据与 Android 中的其他数据是隔离的。并且您可以通过在 Android 设置中删除应用程序数据来轻松删除 Termux(包括 Ubuntu)中的所有文件。但是,对于因遵循此答案而引起的任何问题,我概不负责。GitHub 中的星数可以让您了解有多少人在使用这些脚本。它们不是恶意软件。

    提示:

    1. 可以在 VNCServer 中更改屏幕分辨率。我发现分辨率700x1500(纵向模式)在我的 6.5 英寸手机屏幕上效果很好。
    2. Vanilla XFCE 很无聊,可以安装自己喜欢的图标主题和 GTK 主题。
    3. 您可以编辑 start-ubuntu20.sh/startubuntu.sh访问手机的内部存储和 SD 卡。
    4. 默认情况下,它使用 root 帐户。但是,您可以使用 来创建非 root 帐户su -s username,并授予他们 sudo 访问权限。
    5. 在 VNC 查看器中选择quality: high或以获得更好的图像质量。24-bit color (4 bpp)
    6. 要在 Termux 中编辑文件,请在 Android 中安装 Hacker's Keyboard( Google Play , F-Droid ),或使用scrcpy使用计算机键盘进行编辑。
    7. 众所周知,容器化应用程序(例如 snaps 和 flatpak)不能在这种方法中工作。引用Andronix Docs

    SNAP/Docker/Flatpak 软件包不能安装在任何 Linux 环境中。这主要是由于两个原因。主要是两者都需要在 PRoot 环境中不可用的内核和总线模型,其次是两者都主要关注基于 Intel/AMD 的架构而不是 arm 架构。

    随意编辑此答案以使其更好。

    • 4

相关问题

  • Wubi 和常规的“Windows 旁边”安装有什么区别?

  • 如何在 Windows 7 中运行 Ubuntu?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve