How to Run Linux on Android Devices

Access the Linux kernel on your Android smartphone or tablet

Did you know that Android devices are powered by a modified Linux kernel? While the kernel is very restrictive, it is possible to run Linux on Android phones and tablets.

The information below should apply no matter who made your Android phone: Samsung, Google, Huawei, Xiaomi, etc.

Can You Run Linux on Android?

Thanks to apps like UserLAnd, anyone can install a full Linux distribution on their Android device. You don't even need to root your device, so there's no risk of bricking your phone or voiding the warranty.

With the UserLAnd app, you can install Arch Linux, Debian, Kali Linux, and Ubuntu on your device. The program installs an additional “layer” on your device that runs the chosen version of Linux, allowing you to connect to a Linux session via SSH or VNC with the assistance of the bVNC app.

The Linux desktop doesn’t always scale perfectly, so you'll like have to move the screen around a lot while working in windows.

How to Install Linux on Android

To run Ubuntu on an Android device with UserLAnd:

  1. Download and install UserLAnd from the Google Play Store.
  2. Launch the UserLAnd app and tap Ubuntu.

    Ubuntu in the UserLAnd app
  3. Tap OK and then ALLOW to grant the necessary app permissions.

    OK button in permissions window for UserLAnd
  4. Enter a Username, Password, and VNC Password for the Ubuntu session, then tap CONTINUE.

    Continue button
  5. Select VNC and tap CONTINUE.

    At this point, UserLAnd will download all the necessary assets for the Ubuntu session. Depending upon the speed of your connection, this can take a while.

    VNC option in UserLAnd
  6. You will be redirected back to the Google Play Store where you can download bVNC (if you haven’t already done so). Tap Install, then tap the Back button on your device to return to UserLAnd.

    If asked to grant bVNC access to your Android files, tap Allow.

    Install and Back buttons
  7. Tap Sessions at the bottom of the screen, then tap the plus sign (+) in the top-right corner.

    If you already see an option for ubuntu listed, tap it to begin your Linux session.

    Sessions and Plus buttons in UserLAnd
  8. Name the session ubuntu, select apps:Ubuntu from the Filesystem drop-down menu, and select SSH for the Service Type. Tap Save (the icon in the top-right corner) when you're done.

    Save icon in UserLAnd
  9. Tap Sessions, then tap ubuntu to launch your Linux session.

    Tap Sessions, then tap ubuntu to launch the Linux session.

How to Use Linux on Android

The Ubuntu session will open to a desktop environment, where you can zoom in with your fingers. From here, you can open applications by tapping the start menu in the bottom-left corner. To install new Linux programs using the command terminal, tap System Tools > LXTerminal.

To close the desktop and return to Android, tap anywhere on the screen, tap the three vertical dots that appear, and then tap Disconnect.

The Ubuntu desktop running in the UserLAnd app on Android

Pros and Cons of Running Linux on Android

Linux is far more flexible than Android. There are a lots of tasks you can undertake with Linux that you can’t on Android including app development, advanced image editing, and working in a real desktop environment.

That said, the small form factor of smartphones makes it difficult to pack an entire desktop GUI into such a small screen. You have to use your finger to move the mouse cursor, and you won't be able to use your phone app while the Linux desktop is running.

Why Hasn’t Linux Been Officially Ported to a Mobile Device?

In 2013, Canonical developed a mobile device that ran a special version of Ubuntu called Ubuntu Touch. Unfortunately, it was a commercial flop, so the device was discontinued. No other companies have attempted to release a Linux phone due to the challenges of the GUI. The desktop would have to be completely re-imagined to function on such a small screen.