In addition to the graphical interface, Linux Deploy allows you to manage a GNU/Linux system instance from the command line via the Android terminal emulator. For these purposes, a special linuxdeploy script is used, which can be run from the Android command line and accepts the following parameters:
- prepare - Prepare a container, create an image, and create a file system;
- mount - Mount the container;
- umount - Unmount the container;
- install - Start the installation of a new system;
- configure - Launch the container reconfiguration;
- start - Launch the container;
- stop - Stop the container;
- shell - Execute chroot in a container;
- status - Information about the system.
Distributions running through Linux Deploy work with the Android kernel (a modified Linux kernel), and therefore you can change the configuration of the kernel or connect new modules only by rebuilding this kernel, or assembling modules for this version of the kernel.
Linux Deploy is designed to automatically install the latest versions of the most popular Linux distributions via the Internet and then run Linux applications of these distributions on Android. However, it also supports running the distribution from ready-made images. Prepared images of distributions can be downloaded from the Linux-on-Android project website.
The Kali Linux distribution is based on Debian and is positioned as a distribution for testing information security. Installation of this distribution in Linux Deploy is fully supported automatically with installation from the official repository (see the GNU/Linux installation instructions and the instructions at www.kali.org), but in some cases you may need to install from a ready-made image without Internet access.

Linux Deploy supports several graphics subsystems, graphics output options that can be used depending on the task.
VNC is used by default and is a software server that runs in parallel with Android and creates a virtual desktop to which you can connect through a special application — VNC-client. You can connect via VNC both locally, directly from the device, and remotely, for example, from a computer or other device. The only condition is that the devices are in the same subnet, for example, connected to the same router. VNC has two main parameters: server address and display number. The server address is the IP or host name where the VNC server is running. The display number is the number of the virtual desktop that we want to work with and on which the desktop environment runs. The display number is in the range from 0 to 99 and corresponds to the port number of the VNC server from 5900 to 5999, respectively, this port will be opened on the server to wait for the client to connect. VNC is easy to set up, there are many client applications, cross-platform, but not without its shortcomings. Such disadvantages include relatively low responsiveness of graphics, lack of support for hardware acceleration, lack of multitouch, additional load on the system and some others.
Being engaged in system administration and reverse engineering of software, I periodically have a need to find out what files and directories were created or modified by some program. For these purposes, you can use existing solutions that track file system changes, logging, installing hooks on system calls to change files or completely isolating a particular program. However, I had a purely sporting interest in making my own version of such software that would work quickly and did not require any additional actions or changes in the working environment of the program under study. This is how the JCut program appeared, creating a quick snapshot of the file structure of a specific directory, and then comparing the new state with the previous or other previously saved snapshot.
Below is a solution for turning the screen correctly in frame buffer mode. That is, to rotate the picture by 90 degrees (landscape orientation) and the touch screen driver handled this rotation correctly. The solution is tested on Samsung Galaxy S2 (i9100), touchscreen MXT224 (you can find out the touchscreen model by using the command: cat /sys/devices/virtual/sec/sec_touchscreen/tsp_touchtype
), Ubuntu 13.04 Raring Ringtail and Debian 7.0 Wheezy.
What does work?
- positioning the cursor to the click location;
- retention processing (left mouse button retention emulation);
- processing of double-click with one finger (emulation of the left mouse button);
- processing of pressing with two fingers (emulation of the right mouse button);
- rotating the coordinates of the touch screen.
Web-based terminal emulator for Android based on Shell In A Box. The application allows you to connect to the console of your Android device directly from a web browser if the computer and devices are on the same local network.

The magazine Information and Control Systems N 5(66)/2013 published an article “Application for automating the installation and running of GNU/Linux environment on Android devices”, pages 56-60.

The article provides an overview of the main functions of the developed software to automate the installation of GNU/Linux distributions and run Linux applications on Android devices. Examples of its possible use, comparison with analogues are given. The principles of software operation are described. Performance estimates and approbation statistics are provided.
Download PDF.
You can run the OpenPandora distribution via Linux Deploy on Android.