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.

    • TurboWafflz
      link
      1812 months 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

    • @[email protected]
      link
      fedilink
      English
      73
      edit-2
      2 months 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.

      • @[email protected]
        link
        fedilink
        English
        12 months 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
        link
        English
        1
        edit-2
        2 months 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

        • @[email protected]
          link
          fedilink
          English
          5
          edit-2
          2 months 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
      link
      fedilink
      242 months ago

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

      • @[email protected]
        link
        fedilink
        82 months 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

          • @[email protected]
            link
            fedilink
            12 months 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
            • Possibly linux
              link
              fedilink
              English
              12 months ago

              The problem with the desktops in termux is that the apps don’t work reliably.

      • @[email protected]
        link
        fedilink
        32 months ago

        So is termux a containerized Linux? (I haven’t looked into it yet, just on my list). I had assumed it was a VM, guess I was incorrect.

        • @[email protected]
          link
          fedilink
          English
          202 months ago

          My sense was that it’s kinda like cygwin. Just natively compiled apps and a filesystem layout.

          • Avid Amoeba
            link
            fedilink
            62 months ago

            This is correct. There’s no containerization like LXC/Docker.

          • Fonzie!
            link
            fedilink
            12 months ago

            Not even that, Android is enough of a Linux system they really just needed a repo of natively compiled apps.

            • @[email protected]
              link
              fedilink
              English
              12 months ago

              …and a filesystem layout. They don’t install things to the “root” linux so they have their own /var, /bin, /usr, etc.

              • Fonzie!
                link
                fedilink
                12 months ago

                I could remember wrong, but doesn’t it just use symlinks?

                • @[email protected]
                  link
                  fedilink
                  English
                  12 months ago

                  I doubt it - it runs in an android sandbox. Why would they even bother? it’s easier to just create a filesystem “chroot” and use that. That way you get full read/write and control of versions.

      • @vala
        link
        22 months ago

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

    • Quack Doc
      link
      142 months 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.

      • @[email protected]
        link
        fedilink
        English
        12 months 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
          link
          22 months 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

    • Possibly linux
      link
      fedilink
      English
      3
      edit-2
      2 months ago

      Termux is just proot

      Termux is just a shell running in the context of an app

  • @[email protected]
    link
    fedilink
    972 months 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
      link
      fedilink
      172 months 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.

      • @[email protected]
        link
        fedilink
        162 months ago

        It’s the convenience angle.

        I have very experienced IT friends who continue to use privacy invasive crap, knowingly because they like the convenience.

        • @[email protected]
          link
          fedilink
          42 months ago

          That kinda thing is a sliding scale for everyone, if my Linux machine wasn’t 90% as reliable and usable as when I was on windows I would probably still be using windows

      • @JubilantJaguar
        link
        82 months ago

        And yet there they all are, using corporate garbage.

        • Kairos
          link
          fedilink
          132 months ago

          Yep. Because that’s the default. And the corporate garbage says that the other stuff is a worse experience.

          • @[email protected]
            link
            fedilink
            132 months ago

            Well, it is.

            It’s a lot more work to use not-Google stuff on Android. Which I try very hard to do.

            Now trying to get a family member to install and run anything not from the Play store is like pulling teeth.

    • Quack Doc
      link
      72 months 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

    • @[email protected]
      link
      fedilink
      62 months 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

  • Lord Wiggle
    link
    922 months ago

    I want a Linux phone capable of running android apps

      • Lord Wiggle
        link
        1
        edit-2
        2 months ago

        So, I’m not that great with Linux. I know the basics, that’s it.

        Is it user friendly? I mainly want Linux with Android app support because I hate Google.

        I’ve used windows my entitle life. Now windows 11 upgrade was done without consent, now they are doing their best to make it even worse then it already was. I would love to switch to Linux, it’s just that I’m using some apps which do not exist for Linux yet. Next to that I’m not that comfortable with the Linux mechanics to make the switch on my main PC. As in: Like I know what I’m doing on the machine which I use a big part of my time. I need full control. I know I have it with Linux, I just don’t know how. And I feel stupid for it.

        The moral of my story is: I’m scared to make a switch from something I’m so familiar with for years and years to something new, even though I hate the corporations behind the stuff I use.

        • @[email protected]
          link
          fedilink
          English
          22 months ago

          have you considered desktop linux + grapheneOS? would be a better experience for you most likely

        • @[email protected]
          link
          fedilink
          English
          22 months ago

          You can test Linux out by using a live USB instance or in a VM. You can also dual boot so you’ll always have Windows available if you need it.

          You can also install WSL on Windows or something like Git Bash or MSYS2 to get a Linux-y environment on Windows.

          • Lord Wiggle
            link
            12 months ago

            I have used dual boot, live usb sticks and VM’s. It’s just that I don’t feel that comfortable within the Linux environment as my knowledge is lacking somewhat and I haven’t used it enough to fix that.

    • @[email protected]
      link
      fedilink
      English
      52 months ago

      Will never happen because of SafetyNet. Google does not want you running Android apps on anything other than their approved Android ROMs.

    • AnimalsDream
      link
      fedilink
      English
      42 months ago

      Came in to say this. Linux on ARM is getting so close to daily driver ready.

    • @woelkchen
      link
      152 months 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
          link
          22 months 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
          link
          62 months 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.

          • Rain World: Slugcat Game
            link
            02 months ago

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

            • @woelkchen
              link
              42 months 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.

          • @NegativeLookBehind
            link
            English
            -62 months ago

            Yes. It’s funny to me when people pull the “ACK-shually what you’re referring to is not GNU…” blah blah blah

  • @[email protected]
    link
    fedilink
    56
    edit-2
    2 months 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.

    • @[email protected]
      link
      fedilink
      172 months ago

      wayDroid does let you do that, in a fairly lightweight way (uses Linux namespaces iirc, similar to lxc.

      It’s still not full native, which would be even nicer. I play droidfish on my Linux machines using it.

        • @[email protected]
          link
          fedilink
          102 months ago

          It also borked the eff out of my system too, and I’m still seeing traces of its lefotver desktop files after uninstallation

        • @serenissi
          link
          22 months ago

          It always worked for me except in some cases the ‘hardware’ compositor (ie the wayland side) is a bit buggy for clipboards and inputs in general. I had issues with lxc network in past but that’s long ago.

          I still don’t understand what borked your system. Waydroid downloads the images, mounts and runs them inside lxc just like normal android. It doesn’t touch your /usr or anything else. Works well in immutable os too.

  • @leadore
    link
    442 months ago

    I’d rather have a linux OS on the phone that can run Android apps.

  • AItoothbrush
    link
    fedilink
    English
    372 months ago

    Cool and all but id rather run android apps on a linux phone.

      • Cethin
        link
        fedilink
        English
        92 months ago

        I think you misread. They want a Linux phone, not a container for android apps on Linux Desktop. Also, yeah there are very limited options to do this, but most of us can’t yet.

        • JackGreenEarth
          link
          fedilink
          English
          72 months ago

          Linux phones do exist, I was saying that you could use Waydroid on those devices (although you can also use it on Linux Desktop), such as postmarketOS on eg a Fairphone 5.

          • AItoothbrush
            link
            fedilink
            English
            42 months ago

            Okay but they only run on pretty weak(usually because it has to be old) hardware. We need a linux flagship phone.

              • Cethin
                link
                fedilink
                English
                72 months ago

                As an American, I absolutely would choose a Fairphone if it wasn’t only available through that third party distributor.

  • tate
    link
    fedilink
    28
    edit-2
    2 months ago

    an all-in-one app for running a Linux distro in a VM.

    No, it won’t

    let you run Linux apps on Android

    It will let you run Linux apps in Linux

    • @woelkchen
      link
      42 months ago

      Plasma Mobile for Android? 🤔

      Doubtful. A VM doesn’t have access to the underlying hardware (unless explicitly passed through).

      • Raphaël A. Costeau
        link
        fedilink
        42 months ago

        I commented having only read the headline. Too bad it’s a VM, Android could have a sort of reverse Waydroid.

      • Quack Doc
        link
        32 months ago

        not doubtful, a lot of compositors, kwin included can run nested.

        • @woelkchen
          link
          32 months ago

          not doubtful, a lot of compositors, kwin included can run nested.

          It’s not a question if some of Plasma Mobile could run in that VM. It’s a question if anything usable is possible. I highly doubt Google will make it possible to call phone numbers etc. in that VM.

          • Quack Doc
            link
            12 months ago

            sure, but if 90% of the stuff work work, voip, and it seems to be using crosvm for avf, so those capabilities could be passed through.

    • @[email protected]
      link
      fedilink
      22 months ago

      I was thinking the same thing! But it would be running from a Debian VM so I’m not sure how realistic that is. And I doubt it would have access to android apps.

  • Mossy Feathers (She/They)
    link
    fedilink
    142 months ago

    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.

    This is the part I cared about. Can it run x86_64 programs, or is it just an ARM-compatible version of Debian?

    If it can actually run x86_64 programs on ARM devices, then that’s kinda fucking sick and would likely help the world transition to ARM. Like, fuck Google, but this sounds like a good thing, maybe?

    • Quack Doc
      link
      32 months ago

      It will be ${NATIVE_ARCH} debian or whatever distro, use box86 on top of it.

    • @[email protected]
      link
      fedilink
      32 months ago

      devices with an x86_64 architecture

      Sounds like the opposite of what you want; you would want x86_64 code on devices with an ARM architecture.

      But I didn’t actually read the article, so maybe that line is poorly worded

    • @woelkchen
      link
      22 months ago

      Can it run x86_64 programs

      The article sound like it will work for x86 devices running Android as well. I don’t think this is about emulation.

    • @[email protected]
      link
      fedilink
      12 months ago

      That just sounds painfully inefficient (though we’ve been doing stuff like this for decades).

      Arm isn’t as efficient at higher cpu states as x86, and running a VM you’re definitely going to up the cpu usage.

      Still interesting to watch. And every use-case is unique. For the typical short-run process this is for, it’ll probably be fine.

  • Xylight
    link
    fedilink
    English
    102 months ago

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

  • @[email protected]
    link
    fedilink
    English
    9
    edit-2
    2 months ago

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

    • @serenissi
      link
      92 months ago

      Android userland is vastly different from ‘linux’ ie desktop linux people are used to. While there exists unshare/proot based containers (termux is an example) it might not be suitable for privileged features of kernel except for rooted devices.

      Chromeos is much closer to desktop linux (init being upstart not systemd afaik) but still the ‘linux’ apps run inside crosvm to keep the locked down nature of the os intact.

      • @[email protected]
        link
        fedilink
        English
        1
        edit-2
        2 months ago

        makes sense and i thought termux uses the android terminal
        chromeos yeah it makes sense aswell its linux with google spyware i seen some distros use sysvinit and runit instead of systemd (aka systemd-free distros)