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.
I just wish I had vim with a tiny keyboard that I hit with one finger
Need a bigger phone so you can hit it with 2 fingers instead of one :D
I need to drink water and have at least one meal a day. Big screen phone is a luxury that I can’t afford
Why not androids terminal since android is base on linux this one just downloads debian
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.
I’ve never tried it myself, but I think you can run full Linux VMs on Pixel phones already. A quick search brings up https://www.xda-developers.com/nestbox-hands-on/
Anyone have experience with this or similar options? Personally I’ve never used anything more advanced than Termux (which is lean and super cool, but not a full-blown VM).
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.
Would it be like a Windows Subsystem for Linux (WSL) but then for Android?
Does termux not already do this?
No, Termux uses proot
Which is better no?
I’d like to be able to run containers
I don’t really see the need. It would be nice to have KVM but other than that I don’t see much point.
I personally really like runing full chroot on my device, this will fit a similar role with more security and convenience.
Can’t wait to have Google’s telemetry injected into my Linux apps
Very exciting stuff, Really hope wayland gets hooked up. if not, well, we can make it work somehow
What do you mean? Wayland isn’t “a thing”.
Im not sure I understand
There’s no app called “Wayland”. So I’m not sure what you want “hooked up”.
wayland support, the protocol?
I don’t think you know what you’re talking about… It’s a protocol. A document. You need some application that implements it. Like KWin, or Gnome.
yeah, like virtio-wl which crosvm supports…
Which still needs a wayland compositor to work, but I get your meaning now. You simply want it to be possible for there to be GUI support with some sort of wayland compositor.
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?
Well, the summary pasted in the post mentions “VM” about a dozen times
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!
This seems as much about converging Android and ChromeOS as anything.
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
If it’s anything like ChromeOS, it’ll be a VM where you can do whatever you want, within that VM.
And will be cancelled in 18 months with 2 weeks notice.
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 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 is just proot
Termux isn’t just proot, but you can install proot inside termux
It is proot based though. It is very useful but it does have disadvantages.
How is ut proot based? Afaik it runs binaries built for termux and not any linux binaries. Isn’t it directly executing the files?
protogens made it :3
What is proot?
Termux doesn’t run arbitrary software. There’s a pretty large set that does but plenty doesn’t. A VM would resolve that.
Ehh it kinda does considering you can get a pretty full compiler tool chain running via termux.
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
Do you mean via QEMU without hardware acceleration?
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:
- Ubuntu
- Debian
- Kali
- Parrot Security OS
- Fedora
- CentOS
- openSUSE Leap
- openSUSE Tumberweed
- Arch Linux
- Black Arch
- Xfce4, Mate, LXQt, LXDE Desktop Environment Supported
- Install multiple distros without conflict
- Provide uninstallation script to fully uninstall distro
The problem with the desktops in termux is that the apps don’t work reliably.
I found generally it was fine but some needing true root hardware access failed
Firefox doesn’t work right and neither does chromium
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.
This is correct. There’s no containerization like LXC/Docker.
Not even that, Android is enough of a Linux system they really just needed a repo of natively compiled apps.
…and a filesystem layout. They don’t install things to the “root” linux so they have their own /var, /bin, /usr, etc.
I could remember wrong, but doesn’t it just use symlinks?
does this mean more steam support for android ?
I’d rather have a linux OS on the phone that can run Android apps.
That’s what android is ;)
That’s like saying MacOS and IOS are BSD
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.
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.
With diffs sometimes around 5m lines of code (in case of qcom)
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.
Lol thank you so much for the laugh
But do you know what you’re laughing at, though?
Yes. It’s funny to me when people pull the “ACK-shually what you’re referring to is not GNU…” blah blah blah
android just uses the kernel
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.
there’s more to an operating system that a program needs other than the kernel(?)
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.
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.
And yet there they all are, using corporate garbage.
Yep. Because that’s the default. And the corporate garbage says that the other stuff is a worse experience.
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.
Well, yeah, because most apps depend on Google services.
It’s the convenience angle.
I have very experienced IT friends who continue to use privacy invasive crap, knowingly because they like the convenience.
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
I personally run a custom rom, even with that I find this very exciting, This should balance the Security, Perf, Convience, aspects quite nicely
graphene OS. i would not have bought an android phone if i had to use google roms
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