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.

      • Lord Wiggle@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        5 days 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.

        • sue_me_please@awful.systems
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days 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@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            5 days 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.

    • sue_me_please@awful.systems
      link
      fedilink
      English
      arrow-up
      4
      ·
      5 days ago

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

        • paperd@lemmy.zip
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          5
          ·
          6 days 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.

  • lengau@midwest.social
    link
    fedilink
    arrow-up
    60
    ·
    edit-2
    7 days 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.

    • GravelPieceOfSword@lemmy.ca
      link
      fedilink
      arrow-up
      19
      arrow-down
      1
      ·
      7 days 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.

        • tetris11@lemmy.ml
          link
          fedilink
          arrow-up
          10
          ·
          7 days 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@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          5 days 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.

      • Cethin@lemmy.zip
        link
        fedilink
        English
        arrow-up
        13
        arrow-down
        2
        ·
        7 days 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@lemm.ee
          link
          fedilink
          English
          arrow-up
          7
          ·
          7 days 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@lemmy.zip
            link
            fedilink
            English
            arrow-up
            4
            ·
            7 days ago

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

              • Cethin@lemmy.zip
                link
                fedilink
                English
                arrow-up
                7
                ·
                6 days ago

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

  • Mwa@lemm.ee
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    6 days ago

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

    • serenissi@lemmy.world
      link
      fedilink
      arrow-up
      9
      ·
      5 days 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.

      • Mwa@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        5 days 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)

    • Trainguyrom@reddthat.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 days 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
      7
      ·
      6 days 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?

      • Markaos@lemmy.one
        link
        fedilink
        arrow-up
        11
        ·
        6 days ago

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

      • Nils@lemmy.ca
        link
        fedilink
        arrow-up
        4
        ·
        6 days 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.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      7 days 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.

  • KazuchijouNo@lemy.lol
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    6 days 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
      10
      ·
      6 days 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
      ·
      6 days 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.

  • IsusRamzy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    7 days 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?

      • IsusRamzy@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 days 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
          ·
          6 days 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.

      • Trainguyrom@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 days 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

  • Soothing Salamander@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    7 days 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.