Linux Deploy supports automatic installation and configuration of some of the most common desktop environments. Version LD 2.0 retains support for XTerm (full-screen terminal), LXDE, Xfce, and MATE environments. These environments are in almost all supported LD distributions, they are not very demanding on resources and can work without graphical acceleration. However, you can start other desktop environments manually. To do this, in the LD settings, select the “Other” desktop environment and execute the “Configure” command. After that, you need to connect to the container, install the packages of the desired environment of the desktop, and under the user (by default - android) edit the file ~/.xsession
, prescribing the command to start the working environment.
Websocket.sh is a cross-platform implementation of WebSocket server on bash. Only busybox is required to work, instead of bash, you can use ash. Can be used in embedded systems.

Despite the fact that initially Linux Deploy (abbreviated LD) was conceived as an application for Android, over time there are other options for its application. With the Linux Deploy CLI, a number of new features have become available that open up new uses for the tool.
Linux Deploy CLI is a command-line application designed to automate the process of installing, configuring, and running GNU/Linux distributions inside a chroot container. The application can work both in ordinary desktop Linux-distributions and on mobile platforms based on the Linux kernel, provided that the necessary dependencies are observed (all dependencies can be collected statically). Applications from the Linux distribution run in a chroot environment, operate in parallel with the main system, and are comparable with it in terms of speed. Since the work of Linux Deploy is based on a system call to the Linux kernel, only Linux distributions can act as guest systems.
Preparing for the release of the next version of Linux Deploy, which will include many new interesting features. The main one’s are:
- work with containers without superuser rights (based on proot), including architecture emulation without the need to support the binfmt_misc module at the core level;
- modular architecture based on plug-in components;
- updated application interface for Android;
- built-in Android-application management interface via telnet and web interface;
- extended CLI for managing containers from the command line;
- CLI with support for various platforms based on the Linux kernel, not only Android;
- repository of finished containers (container configurations and rootfs archives for them).
The application is an installer of the latest version BusyBox for Android. The application contains a BusyBox assembly for various hardware architectures and is the assembly with the most complete set of functions, 335 applets are currently supported (for busybox v1.23.2). The application allows you to install BusyBox in the system or remove the one already installed. It is possible to select the installation directory and installation mode (with the installation of applets, with or without replacing existing applets). Also, the assembly can be saved to the memory card in the form of a zip archive for subsequent installation through a recovery.

The application appeared because of the current difficult situation with the update of time zones in Android. The International Time Zone Database is updated every month, but there are no regular means of updating this database on devices. Keep track of time zone updates and release timely firmware updates, in theory, should device manufacturers, but in fact it is not. As a result, Timezone Updater was developed, which downloads and updates to the latest version of the time zone data on the Android device. The time zone database and ICU data are updated. This application is designed to solve all the known problems associated with time zones in Android.

Since version 1.5.3, Linux Deploy has begun work on integrating GNU/Linux containers with the Android environment. This opens up the following possibilities:
- access to the entire Android file system;
- execution of Android applications/commands directly from the container (for example, getprop, reboot, shutdown);
- switching between the container console and Android (
unchroot
command).
The Linux Deploy project (LD for short) is now three years old, and here are some statistics. The current version of LD 1.5.2-160 is 52 releases and 160 updates, GitHub has 18,805 lines of code. More than 10,000 devices have been supported since Android 2.1. About 500 thousand installations. At the moment, LD supports 8 distributions (Debian, Ubuntu, Kali Linux, Fedora, Arch Linux, Gentoo, openSUSE, Slackware), for which installers and configurators are specially written. Each distribution supports from 2 to 9 architectures (varieties arm and x86, 32 and 64 bits) and from 1 to 7 releases. A total of 121 versions of distributions and their architectures are supported. Each distribution can be automatically configured to work with 1 of 5 supported desktop environments (XTerm, LXDE, Xfce, GNOME, KDE), not to mention SSH, VNC, and Xorg configurations. Taking into account the desktop environments (distribution/architecture/desktop environment), 597 installation options are obtained, which can be automatically deployed and configured via LD.
Modern models of mobile devices are equipped with a significant amount of RAM, for example, the ThL 5000 has 2 GB of RAM and 1 GB of swap memory. The Android system and system applications use no more than 1 GB of RAM. Thus, there is still at least 1 GB of memory that can be used for their own purposes. Linux Deploy version 1.5.1 adds support for installing GNU/Linux distributions in RAM.
One evening I decided to relax and made an animated version of the piglet for the Linux terminal, and then in JavaScript. The piglet itself is the logo of the networked open source intrusion detection and prevention system Snort.

The code to run in the shell and the web version: https://github.com/meefik/piggy