Samsung has finally made real its promise of bringing a Linux desktop to its Galaxy phones. But while Linux on DeX might sound like a Linux user’s dream come true, it comes with a few caveats. You’re pretty much limited to using a now older Ubuntu 16.04 LTS distribution and you can only use it in DeX mode on the Galaxy Note 9 or the Galaxy Tab S4. For the true open source advocate, that just isn’t enough. Fortunately, thre’s now UserLAnd, a new and upcoming way to run Linux distros and apps on Android without rooting your phone. And best of all, the app itself is open source!
No root roots
UserLAnd is hardly the first nor only attempt at turning your Android phone into a true Linux-toting mobile device. The most popular and well-tested ones, however, require users to root their devices first. No problem for seasoned Android and Linux veterans but a high barrier to entry for the majority.
There was one project, however, that tried to make things just a little bit easier by removing the root requirement. That was the playfully named GNURoot which let you install Debian, Ubuntu, or even Fedora, albeit in their most basic, command line only forms. Sadly, GNURoot is no longer maintained and no longer works properly after Android releases. That’s where the strangely named UserLAnd comes in.
Linux on Android made easier
If all you need is a basic but more or less updated Linux system on your Android phone or a very limited selection of Linux software, the UserLAnd is definitely worth a try. Especially if you don’t mind being limited to only a choice between Debian and Ubuntu. That said, these two are at least recent, running Debian 9.5 “Stretch” and Ubuntu 18.04 LTS “Bionic Beaver”, so you won’t be at a loss for recent packages and software.
As for those individual Linux programs, however, you are sadly limited to what UserLAnd provides. At least until you’re able to make a launcher of your own. At the moment, the only choices are the desktop version of Firefox, text-based games Adventure and Zork, and graphical math programs like Gnuplot, Octave, and R.
What UserLAnd lacks in options it makes up for in ease of use. Simply tap on any of those apps (yes, the distro’s are considered “apps” in this context) and just watch the text scroll by. When you start an app for the very first time, it will ask you for some login details like the username you’d like to associate with the app, the user’s password (which is also the SSH password, of course), and the VNC password. You then pick whether you want to connect that app session to SSH or VNC, the latter for a GUI session. For the GUI programs, that decision is naturally made for you.
What UserLAnd does in the background is create a container using the distro of choice (Debian by default for the apps) and automatically launch the chosen GUI program when the session is started. There is no magic there, however, since you will see xterm run said program. Like the minimalist distros of old, UserLAnd uses the venerable and ancient TWM for its window manager.
Nearly infinite possibilities
So what can you do with UserLAnd anyway? Well, almost anything actually. You’re really limited only by the packages available for those specific distro versions, the ARM or x86 architecture your Android phone/tablet is running on, and your time and patience in downloading and installing them.
For the specific Linux GUI applications provided by default, it’s a no-brainer. They’re there so you could use them on the go, even when far away from your beloved Linux desktop or laptop. Firefox lets you have a full desktop web browser when “Request desktop site” just isn’t enough and you need some extensions (that hopefully works for ARM).
Things, however, can get a bit crazier when you consider the “plain” Debian and Ubuntu distros. Here you’re limited by your insanity. SSH mode lets you play around with command line utilities and tool, maybe even test a local web server on your phone. With VNC, you can even install a full graphical desktop environment of your choice. It’s up to you to justify to yourself that use case.
Of course, it’s not a perfect Linux phone scenario. Even if you’re running a full GUI desktop, you’re still just running it on top of Android. Never mind gamin beyond text-based titles, don’t expect your experience to be snappy unless you have a mighty phone. But even then, forget about fancy graphical effects and such.
You might to plug some peripherals to your phone as well. While SSH mode is pretty usable with a virtual keyboard, anything graphical you’d want to have keyboard and mouse at hand. And unless you have a gigantic phone or a tablet, you’ll want some external monitor or a way to mirror your phone’s screen to something bigger.
Lastly, UserLAnd is definitely a power user tool, and by that I mean Linux power user. Going off the beaten path requires not just a certain amount of familiarity not just with Debian or Ubuntu but also the Linux command line in general. You might want to dust off those BASH commands and tricks you’ve accumulated over the years.
It’s hardly the ideal Linux on Android experience, not even close to the dream Linux phone experience. Depending on your needs, there might be better options to getting your Linux fix, especially if all you need is to access a remote server via SSH or remote desktop. But for open source Linux fans, UserLAnd is so far the best, probably the only, option to have a rootless, up-to-date Linux system on your Android phone. Hopefully, it will eventually gain enough traction to be even more improved and maybe become the way to get any Linux distro on Android.