Google is developing a Terminal app for Android that’ll let you run Linux apps. It’ll download and run Debian in a VM for you.

Engineers at Google started work on a new Terminal app for Android a couple of weeks ago. This Terminal app is part of the Android Virtualization Framework (AVF) and contains a WebView that connects to a Linux virtual machine via a local IP address, allowing you to run Linux commands from the Android host. Initially, you had to manually enable this Terminal app using a shell command and then configure the Linux VM yourself. However, in recent days, Google began work on integrating the Terminal app into Android as well as turning it into an all-in-one app for running a Linux distro in a VM.

Google is still working on improving the Terminal app as well as AVF before shipping this feature. AVF already supports graphics and some input options, but it’s preparing to add support for backing up and restoring snapshots, nested virtualization, and devices with an x86_64 architecture. It’s also preparing to add some settings pages to the Terminal app, which is pretty barebones right now apart from a menu to copy the IP address and stop the existing VM instance. The settings pages will let you resize the disk, configure port forwarding, and potentially recover partitions.

If you’re wondering why you’d want to run Linux apps on Android, then this feature is probably not for you. Google added Linux support to Chrome OS so developers with Chromebooks can run Linux apps that are useful for development. For example, Linux support on Chrome OS allows developers to run the Linux version of Android Studio, the recommended IDE for Android app development, on Chromebooks. It also lets them run Linux command line tools safely and securely in a container.

  • Mwa@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 hours ago

    Why not androids terminal since android is base on linux this one just downloads debian

        • paperd@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          ·
          14 minutes ago

          Its not the “Linux OS” that we want, but it is Linux, it runs the Linux kernel, so does chromeOS.

          Be cleat about what you want.

          What you call “Linux OS” is actually GNU/Linux, or as I’ve taken to calling it lately, GNU + Linux.

    • Trainguyrom@reddthat.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 hours ago

      Steam requires it to be installed in an x86 environment, whether natively, or through emulation (and most x86 emulation has significant overhead and imperfections)

      But java applications should run natively if you supply an appropriate build of java. I have an arm VPS that I’ve hosted several Minecraft servers on without any problems (other than those I created myself) and I also learned by accident that Microsoft’s builds of OpenJDK actually work for (at least some) Minecraft versions that they aren’t supposed to, so I have to wonder if that’s a happy accident or intentional work by Microsoft

    • Xatolos@reddthat.com
      link
      fedilink
      arrow-up
      6
      ·
      20 hours ago

      No, not unless you have an x86 Android device. While this will run Linux apps, it will be limited to the CPU architecture. Unless there is a x86 to ARM translation layer on Linux that I’m not aware of?

      • Nils@lemmy.ca
        link
        fedilink
        arrow-up
        3
        ·
        10 hours ago

        Unless there is a x86 to ARM translation layer on Linux that I’m not aware of?

        https://steamdb.info/app/3043620/

        It appears Valve is working on Proton for arm64, I was wondering if this is to attend the mobile market, a new Index or maybe a smaller Steam Deck.

      • Markaos@lemmy.one
        link
        fedilink
        arrow-up
        9
        ·
        18 hours ago

        box86/box64, and there’s also FEX-emu which is used by the Asahi Linux project (Linux on Apple Silicon macbooks).

  • lengau@midwest.social
    link
    fedilink
    arrow-up
    47
    ·
    edit-2
    1 day ago

    Much more appealing to me is running Android apps on Linux officially. I don’t want to use Android as my main system, but I sure as heck would love to have one or two Android apps available on my Linux Machines.

  • Xylight@lemdro.id
    link
    fedilink
    English
    arrow-up
    9
    ·
    23 hours ago

    Irrelevant but the embed thumbnail terrifies me. why is the android fuzzy

  • KazuchijouNo@lemy.lol
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    23 hours ago

    We already have termux for that, and on a rooted device you could do pretty much anything. This is pointless

    • y0kai@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      6
      ·
      23 hours ago

      Yeah but I’m unwilling to root my device, so hopefully this will allow me to do some cool stuff too.

    • b000rg@midwest.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      18 hours ago

      Yeah, I just installed Debian in Termux last night. I’ve got a Samsung phone with a locked down bootloader, so it’s the best I can do.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      1 day ago

      You can pretty much chroot into a full debian installation, and even make kernel calls higher than that natively supported by your phone through proot. It’s a weird time to be alive.

    • TurboWafflz@lemmy.world
      link
      fedilink
      arrow-up
      165
      arrow-down
      4
      ·
      2 days ago

      Yeah but I bet google’s one will have lots of cool features like being harder to use and not supporting becoming root and requiring google play services for no discernable reason

      • bamboo@lemm.ee
        link
        fedilink
        arrow-up
        13
        ·
        2 days ago

        If it’s anything like ChromeOS, it’ll be a VM where you can do whatever you want, within that VM.

    • moonpiedumplings@programming.dev
      link
      fedilink
      English
      arrow-up
      62
      ·
      edit-2
      2 days ago

      Termux recently got moved off of the play store (kinda), and is now only available on f-droid/github, because Google was further locking down what they allowed on their store.

      And in addition to that, they recently added a restriction in later versions of Android: “Child process limit”. Although this limit used to not there, when enabled, it prevents users from truly running arbitrary linux programs, like via termux.

      Although the child process limit can still be disabled in developer options, it doesn’t bode well for how flexible base android in the future will be, since many times corpos like Google move stuff into the “secret” options before eventually removing that dial all together.

      TLDR: Termux has been, and is a thing… for now.

      Also, I want to shout out winlator. It uses a linux proot, similator to termux, and has box64 and wine inside that proot that people can use to play games. I tested with Gungeon, and it even has controller support and performance, which is really impressive.

      • smeg@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        50 minutes ago

        I used Winlator at the start of the year just to test out some little itch.io games and it was pretty basic, huge to hear how far it’s come already!

      • Semperverus@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        edit-2
        23 hours ago

        winlator can run windows apps on android

        Hey that sounds neat!

        uses ubuntu as a base

        Oh no…

        MIT license

        oh no

        Have to install from github/no F-Droid build

        oh no

        • moonpiedumplings@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          21 hours ago

          Winlator is really just termux + proot + box64 + wine wrapped in a neat UI (+ controller support). You can, and people have set this up manually before winlator came along. You’ll either need termux-x11 or vnc for the GUI.

          Mobox is a similar project that does this automatically via a script… but I don’t see a license in their github repo, plus they require the proprietary input bridge for touch controls.

    • Avid Amoeba@lemmy.ca
      link
      fedilink
      arrow-up
      24
      arrow-down
      2
      ·
      2 days ago

      Termux doesn’t run arbitrary software. There’s a pretty large set that does but plenty doesn’t. A VM would resolve that.

      • vala@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Ehh it kinda does considering you can get a pretty full compiler tool chain running via termux.

      • BCsven@lemmy.ca
        link
        fedilink
        arrow-up
        7
        ·
        1 day ago

        Through termux you can already install a full linux distro on android. It is a little slow, but full desktop environment. Not bad if you have a phone that supports display output

          • BCsven@lemmy.ca
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            I didn’t think to check how it worked, other than the graphics part is accessed via a VNC app. If you have a spare phone check out Anlinux on PlayStore or F-Droid

            Anlinux

            This application will allow you to run Linux on Android, by using https://f-droid.org/packages/com.termux and PRoot technology, you can even run SSH and Xfce4 Desktop Environment!!!

            Features:

            • NO ROOT ACCESS REQUIRED!!!
            • Lots of Linux distros supported:
            1. Ubuntu
            2. Debian
            3. Kali
            4. Parrot Security OS
            5. Fedora
            6. CentOS
            7. openSUSE Leap
            8. openSUSE Tumberweed
            9. Arch Linux
            10. Black Arch
            • Xfce4, Mate, LXQt, LXDE Desktop Environment Supported
            • Install multiple distros without conflict
            • Provide uninstallation script to fully uninstall distro
    • Quack Doc@lemmy.world
      link
      fedilink
      arrow-up
      11
      ·
      2 days ago

      Termux has been a thing for years.

      Termux is not a full linux environment, you need proot (slow) or chroot (insecure) to get a full environment.

      • b000rg@midwest.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        18 hours ago

        Not arguing, just curious: what makes chroot insecure? I’ve used it for installing Gentoo, but I don’t really understand what it’s doing under the hood.

        • Quack Doc@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          13 hours ago

          Chroot = change root, and needs root to do so. Doing anything as root is insecure. escaping a chroot really isn’t all that hard. The second you elevate privledges, you need extra steps to to become secure. Chroot almost never involves any of these steps (though there is some selinux stuff you could do.)

          This is an old example, but still a valid one https://github.com/earthquake/chw00t

  • IsusRamzy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    1 day ago

    Interesting… but well… Android isn’t rooted, so will it use chroot or something like that? Or it will use a whole another kernel, complete VM?

      • Trainguyrom@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        For what I’ve read and heard mentioned by engineers when I worked for a phone manufacturer, Android already heavily uses virtualization. If I remember correctly it does that for the A/B partitions for updating, as well as for the multiple user support. But I’m very open to anyone with closer experience to the Android kernel than I have chiming in with better specifics

      • IsusRamzy@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        That’s a bad move of Google, this has no reason at all!
        Chroot/docker will use a more practical way to run Linux, as Android is just a Linux distro, why bother with running a whole another kernel!

        • Markaos@lemmy.one
          link
          fedilink
          arrow-up
          1
          ·
          18 hours ago

          A reasonable build of the kernel optimized for virtualization won’t take more than a few tens of megabytes of RAM (and it will have support for memory ballooning, so the virtualized kernel will give the memory it doesn’t need back to the host), and the userspace will need to be separate anyway due to how different Android is to normal Linux distros.

          Containers are nice when you want to run dozens of separate services on the same server or want to get the benefits of infrastructure as code, but in this case they would provide minimal benefits at the cost of having no way of loading any kernel modules not built into whatever ancient kernel version your SoC manufacturer decided you have to use on your phone. Also, container escape vulnerabilities are still a bit more common than full VM escape, so this is also good for security on top of being more useful.

  • mindlight@lemm.ee
    link
    fedilink
    arrow-up
    88
    arrow-down
    1
    ·
    2 days ago

    Yeah… While making users run Linux applications on a system where Google is root might be a wet dream for Google, it’s more of a nightmare for me.

    I really hate the fact that the vast majority of consumers are perfectly fine with not being in full control of their appliances and that Google (and others) register everything they do.

    • Kairos@lemmy.today
      link
      fedilink
      arrow-up
      16
      arrow-down
      1
      ·
      2 days ago

      The reason so many people are fine with using corporate garbage is ironically the same reason they’d be just fine using something that wasn’t that. Users can adapt and learn a system way better than most people think.

    • Quack Doc@lemmy.world
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      2 days ago

      I personally run a custom rom, even with that I find this very exciting, This should balance the Security, Perf, Convience, aspects quite nicely

    • SynopsisTantilize@lemm.ee
      link
      fedilink
      arrow-up
      5
      ·
      2 days ago

      I thought the snapdragon Samsung rooting would be farther along than where we are now. I’m stuck with my phone until further notice s23u

    • woelkchen@lemmy.world
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      2 days ago

      I’ll just run Linux shit on…Linux

      Android is a variant of Linux, just not GNU/Linux because of not using glibc.

        • woelkchen@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          With diffs sometimes around 5m lines of code (in case of qcom)

          Nobody’s denying that. Many embedded distributions targeted special hardware are like that.

        • woelkchen@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          1 day ago

          android just uses the kernel

          Yes and the kernel’s name is “Linux”. No other software is named “Linux”. Ask Linus Torvalds if you don’t believe me.

            • woelkchen@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              7 hours ago

              there’s more to an operating system that a program needs other than the kernel(?)

              Yes, and the other parts have other names, like the toolkit GTK or the C standard library glibc and all those things make up a Linux distribution, like Fedora.

  • Soothing Salamander@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    This could be really interesting. I don’t personally see a use case for me to run Linux apps on Android. I could see myself running android apps on Linux though. Pretty happy to see this.