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.
Termux has been a thing for years.
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
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.
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
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.
Termux doesn’t run arbitrary software. There’s a pretty large set that does but plenty doesn’t. A VM would resolve that.
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
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.
My sense was that it’s kinda like cygwin. Just natively compiled apps and a filesystem layout.
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.
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.
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
Termux is just proot
Termux is just a shell running in the context of an app
It is proot based though. It is very useful but it does have disadvantages.
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.
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.
It’s the convenience angle.
I have very experienced IT friends who continue to use privacy invasive crap, knowingly because they like the convenience.
Yep. Because that’s the default. And the corporate garbage says that the other stuff is a worse experience.
I want a Linux phone capable of running android apps
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.
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.
have you considered desktop linux + grapheneOS? would be a better experience for you most likely
Will never happen because of SafetyNet. Google does not want you running Android apps on anything other than their approved Android ROMs.
Looks like Google is calling it Play Integrity these days: https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline
But it’s this: https://developer.android.com/google/play/integrity
It’s an API that ensures you’re running apps on the hardware and Android ROMs Google approves of. It can also ensure that apps are not running on rooted phones.
Developers can integrate it into their apps. Banking apps do it, for example, and won’t run in Waydroid as a result. More and more apps integrate it.
I’ll just run Linux shit on…Linux
I’ll just run Linux shit on…Linux
Android is a variant of Linux, just not GNU/Linux because of not using glibc.
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.
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.
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.
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.