UserLAnd, a Turnkey Linux in Your Pocket
There comes a time when having a full-fledged Linux distribution within reach is necessary or just plain useful. And, what could be more within reach than having that same distribution on a computing device most people have with them at all times? Yes, I'm talking about a smartphone—specifically, an Android-powered smartphone. Enter UserLAnd.
UserLAnd offers a quick and easy way to run an entire Linux distribution, or even just a Linux application or game, from your pocket. It installs as an Android app and is available for download from the Android Google Play Store. The best part is that because it operates from a typical chroot environment, you don't need to root your device.
I was fortunate enough to have a chance to spin up one of the early beta builds of UserLAnd. This beta build was limited only to SSH and VNC local connections from my Android mobile device, but it was more than enough to establish a sound sense of how things are and where things will progress.
To handle the SSH connection, UserLAnd leverages ConnectBot while using bVNC for anything graphical. The beta build I used supported only TWM. Future updates will add additional window managers and a desktop environment. Both ConnectBot and bVNC are installed when you create and launch your session (see below).
Immediately after installation and upon launching the application, you are greeted with a clean environment—that is, no root filesystems and no sessions defined.
Figure 1. A Fresh and Clean Installation of UserLAnd
There isn't much to do here until you create a base root filesystem to use in one or more connected sessions. Now, because this was a beta build, my option was limited to Debian.
Figure 2. Creating a Root Filesystem
Once the root filesystem is created, you can create your session, which includes connection type and user name. For connection types, in my case, the drop-down menu listed ConnectBot for the command-line interface and bVNC for a graphical environment. Future releases will add more options.
Figure 3. Creating Your Connection Sessions
After launching a session, a giant tarball with the base binaries and libraries is downloaded and extracted to the filesystem. You are treated to a standard Linux environment once this completes, and because I was using Debian, I was able to run traditional Debian commands to update the distribution and install new packages.
Figure 4. Connecting to a Command Line over ConnectBot
The same goes for graphical applications. Here you are able to install and run productivity applications or games that the Android ecosystem doesn't have the capability to host.
Figure 5. Connection to a Graphical Environment over VNC
So, how does this compare with similar products in the App store? Well, if you recall, you don't need to root your device. One of the more popular applications boasting a lot of the same features and functionality is GNURoot. I will say that UserLAnd is not only cleaner, in terms of application design and layout, but it seems to be a lot more intuitive as well. The process of setting up a root filesystem and launching it does not require the installation of many other Android apps (each meant for a specific Linux distribution) from the Google Play Store.
What makes UserLAnd even more promising than its counterparts is that the project has an active staff working tirelessly on the application to create new features and perform bug fixes. In addition, the team is committed to providing a larger distribution selection for users. The UserLAnd team already has expressed to me that "there is much more coming and fast."
So far, I'm very impressed. The interface is clean and simple. What makes this app even more appealing is the fact that you are able to accomplish a lot with fewer actions and that everything seems to be self-contained within the same app.
For additional product information, please visit:
- The Official Project Website
- The Official Android App on the Google Play Store
- The Project's GitHub Repository