Use Linux Terminal on Android Smartphones With These Apps

There are several apps that let you use your Android smartphone to practice Linux commands to connect to a remote server via SSH. Here are the best ones.
Warp Terminal

Want to practice Linux commands? You donโ€™t need to install a full-fledge distribution for that. There are plenty of websites that let you use Linux terminal online.

Those websites work well on the desktop but not on the mobile devices.

Fret not. Android is based on Linux kernel, after all. There are several apps that let you use your Android smartphone to practice Linux commands to connect to a remote server via SSH.

Of course, you should not expect it to replace your regular Linux terminal emulators available for desktops. But, there are quite a few interesting options available for Android.

To make things easier, I added two different categories, one that covers terminal emulators, and the other tailored for remote connection capabilities (SSH) along with a terminal interface.

You can pick one as per your requirements.

Non-FOSS alert! Some apps mentioned here are not open source, and they are duly labeled. They have been covered here because they let you use Linux terminal on Android.

Section A: Top Linux Terminal Emulator Apps

Note that you need root access on your Android phone to be able to use commands like ls to navigate through the directories, copy/paste, and perform advanced operations.

Without root access, you will only be limited to the basics for most apps/terminals, like testing the ping, updating, and installing packages wherever supported.

1. Qute: Terminal Emulator (Not FOSS)

qute terminal

Qute terminal emulator provides access to the built-in command-line shell on your Android device.

You can use popular commands like ping, trace, cd, mkdir, and more on your smartphone. In addition to some useful Linux commands, you can also install bin files and create shell scripts.

Along with the bash script editor and support for rooted devices, it should be an exciting option to try.

It also offers the ability to enable a light theme, hide the keyboard, toggle syntax highlighting, and a couple of other features.

Unfortunately, the developer mentions that as per Googleโ€™s latest privacy policies, there are known issues with Android 11 or latest. So, without a rooted device, you may not be able to do much.

2. Terminal Emulator for Android (FOSS)

terminal emulator old

Terminal Emulator by Jack Palevich is one of the oldest Linux terminal emulators available for Android.

You can use simple commands, add multiple windows, and use launcher shortcuts to make things quick.

The best thing about it is you do not get any ads, in-app purchase options, and no distracting elements. However, it is not being maintained for a long time, and its GitHub page was also archived in 2020 to mark the end of its development.

Even in its current state, it seems to be working for numerous users. So, you might want to try it out before dismissing it as an option.

3. Material Terminal (Not FOSS)

material terminal

Material Terminal is a re-skin version of โ€œTerminal Emulator for Androidโ€.

You get to access the same features, with multiple windows, no ads, support for basic commands out of the box, and the option to install Busy Box, and other command-line utilities in a rooted device.

Basically, everything youโ€™d want in the previous option with a Material Design user interface. Pretty good, right?

Section B: SSH Client and Linux Terminal

Do you want a terminal emulator on Android with the ability to connect using SSH? Or, maybe tailored just for SSH remote connections?

Here are some options:

4. Termux (FOSS)


Termux is a pretty popular terminal emulator available for Android. It features a comprehensive collection of packages that lets you experience bash and zsh shells.

Considering you have root access, you can also manage files with nnn and edit them with nano, vim or emacs. The user interface does not have anything else besides the terminal.

You can also access servers using SSH. In addition to that, you also get to develop in C with clang, make, and gbd. Of course, these are subject to your taste and whether you have a rooted device or not.

You can also explore its GitHub page to troubleshoot any issues. As of now, updates to the Play Store version is halted due to some technical reasons. So, you can install the latest version via F-Droid if the available Play Store version does not work.

5. Termius (Non FOSS)


Termius is an SSH and SFTP client tailored to make remote access from Android devices possible.

With Termius, you can manage UNIX and Linux systems. The Play Store page describes it as a pretty Putty client for Android, and rightly so.

The user interface is easy to understand and doesnโ€™t seem confusing. It also supports Mosh, and Telnet protocol.

When you connect to a remote device, it detects the OS like Raspberry Pi, Ubuntu, Fedora. You can also work using your keyboard connected to the mobile with this app. To top it all off, you get no ads or banners, making it a perfect little remote connection app.

It does offer an optional premium (14 days free trial) with more features like encrypted cross-sync, SSH key agent forwarding, SFTP, terminal tabs, and more. You can also explore more about it on its official website.

6. JuiceSSH (Non FOSS)


JuiceSSH is yet another popular SSH client with a bunch of free features and an optional pro upgrade.

In addition to Telenet and Mosh support, you also get access to some third-party plugins to extend functionalities. You get to tweak the appearance from a range of available options and easily organize your connections by group.

Not to forget, you also get IPv6 support.

If you opt for the pro upgrade, you can integrate with AWS, enable secure sync, automate backups, and more.

7. ConnectBot (FOSS)

connectbot app

If all you wanted is a simple SSH client, ConnectBot should serve you well.

You can handle simultaneous SSH sessions, create secure tunnels, and get the ability to copy/paste between other applications.

Use Your Android Phone to Connect to Servers Via SSH
Turn your Android phone into a portable mini-workstation with this tweaky guide!

Bonus: Access Linux Distro And Commands Without a Rooted Device

If you do not have a rooted Android phone, nor plan to get it done, you have a unique option that lets you install Linux distros on your smartphone.

Andronix (partially open-source).

You get a wide range of Linux distributions and desktop environment options along with Window Managers.

The best thing is โ€“ you do not need a rooted device to use various Linux commands. You just need your favorite distro installed to do it all.

In addition to its ease of use, it also offers premium options that give you access to features like offline distro installation and the ability to sync your commands across devices.

Of course, just because you install a Linux distro does not mean that you can do everything, but itโ€™s still a great option. You can find it in the Play Store and explore more about it on GitHub.

Wrapping Up

Accessing the Linux terminal on Android isnโ€™t as simple as choosing a terminal emulator. You will need to check support for commands, and what it can let you do with a rooted/non-rooted device, before you proceed.

If you want to experiment, any of the options should do a great job.

Whatโ€™s your personal favorite? Did we miss listing any of your favorites? Let me know in the comments below.

About the author
Ankush Das

Ankush Das

A passionate technophile who also happens to be a Computer Science graduate. You will usually see cats dancing to the beautiful tunes sung by him.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world


Great! Youโ€™ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.