this post was submitted on 11 Oct 2024
511 points (98.5% liked)

Linux

47678 readers
917 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] Peruvian_Skies@sh.itjust.works 148 points 1 day ago (5 children)

Termux has been a thing for years.

[–] turbowafflz@lemmy.world 161 points 1 day ago (2 children)

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

[–] yak@lmy.brx.io 13 points 17 hours ago

And will be cancelled in 18 months with 2 weeks notice.

[–] bamboo@lemm.ee 11 points 1 day 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 61 points 1 day ago* (last edited 1 day ago) (1 children)

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.

[–] semperverus@lemmy.world 1 points 15 hours ago* (last edited 15 hours ago) (1 children)

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 3 points 13 hours ago* (last edited 13 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.

[–] avidamoeba@lemmy.ca 21 points 1 day ago (3 children)

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 2 points 16 hours ago

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

[–] BCsven@lemmy.ca 7 points 1 day ago (1 children)

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

[–] avidamoeba@lemmy.ca 2 points 1 day ago (1 children)

Do you mean via QEMU without hardware acceleration?

[–] BCsven@lemmy.ca 1 points 21 hours ago (1 children)

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
[–] possiblylinux127@lemmy.zip 1 points 17 hours ago (1 children)

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

[–] BCsven@lemmy.ca 1 points 11 hours ago (1 children)

I found generally it was fine but some needing true root hardware access failed

[–] possiblylinux127@lemmy.zip 1 points 6 hours ago* (last edited 6 hours ago) (1 children)

Firefox doesn't work right and neither does chromium

[–] BCsven@lemmy.ca 1 points 3 hours ago (1 children)

I don't recall having issues with firefox. Was there anything specific?

[–] possiblylinux127@lemmy.zip 1 points 1 hour ago

Its been a few years but last time I tried sandboxing didn't work

[–] BearOfaTime@lemm.ee 3 points 1 day ago (1 children)

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.

[–] atzanteol@sh.itjust.works 20 points 1 day ago (2 children)

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

[–] lord_ryvan@ttrpg.network 1 points 11 hours ago (1 children)

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

[–] atzanteol@sh.itjust.works 1 points 7 hours ago (1 children)

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

[–] lord_ryvan@ttrpg.network 1 points 1 hour ago

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

[–] avidamoeba@lemmy.ca 6 points 1 day ago

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

[–] Quackdoc@lemmy.world 10 points 1 day ago (1 children)

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 1 points 9 hours ago (1 children)

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.

[–] Quackdoc@lemmy.world 1 points 5 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

[–] possiblylinux127@lemmy.zip 1 points 1 day ago* (last edited 17 hours ago) (2 children)

~~Termux is just proot~~

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

[–] mexicancartel@lemmy.dbzer0.com 4 points 1 day ago (1 children)

Termux isn't just proot, but you can install proot inside termux

[–] possiblylinux127@lemmy.zip 0 points 1 day ago* (last edited 17 hours ago) (1 children)

~~It is proot based though. It is very useful but it does have disadvantages.~~

[–] mexicancartel@lemmy.dbzer0.com 4 points 1 day ago (2 children)

How is ut proot based? Afaik it runs binaries built for termux and not any linux binaries. Isn't it directly executing the files?

[–] rain_worl@lemmy.world 1 points 17 hours ago

protogens made it :3

[–] possiblylinux127@lemmy.zip 1 points 17 hours ago

Maybe I'm mistaken then. I had in my head that it was proof based. However, that wouldn't make any sense as Termux has access to the system