FOSSPicks
Termux and AnLinux
Termux is one of the best applications you can install and run on any Android device. It's a terminal emulator with an integrated package manager that creates a comprehensive command-line Linux environment on your phone. It can currently only be installed as a third-party package, or via the F-Droid open source app store, but it doesn't require root privileges. This means anyone can install it and instantly carry Linux with them wherever they go. It even augments whatever onscreen keyboard you use with some essential Linux keys, including cursor arrows, escape, control, alt, and tab, so you can perform almost any command-line task without resorting to arcane button-conjuring tricks.
But the best thing about Termux is the integrated Apt-based package manager and its associated packages. Even from a humble containerized Android sandbox, it allows you to install some of your favorite Linux tools, such as an SSH server and client, tmux, and the Vim text editor – and all from within a variety of different shell environments. With a few packages such as these installed, Termux feels exactly like having a Linux distribution in your pocket while also enjoying the advantages of Android. But with help from AnLinux, Termux can also be used to install what is effectively a fully fledged Linux distribution, including even a desktop if your phone is up to the task.
AnLinux is a collection of tools, scripts, and associated distribution-based images that add hugely to Termux's capabilities. It's initially installed as an app, either from Google Play, GitHub, or F-Droid, but all the app really does is provide you with a customized command to copy and paste into Termux. It does this by first asking which distribution you want to install from a list that includes Ubuntu, Debian, Fedora, openSUSE, and Arch, among many others. This results in a command that you copy and paste into Termux. The command will download and execute an open source and easily parsable script that will itself download a customized root filesystem image for your chosen distribution. Running a launch script for each distribution will encapsulate the unpacked root filesystem within a PRoot environment, a chroot-like container tool that requires no Android privileges to create an entirely coherent Linux environment.
You can now interact with your distribution much like you might a native Linux installation, including installing packages, building projects, pulling in your configuration files, and accessing your regular online services and resources. With Ubuntu, for example, you can access all the same packages, build tools, languages, and desktop applications, with just a few restrictions related to the compromises made for Android. In particular, all the images are heavily modified to remove incompatible elements such as systemd. This means installing a desktop environment requires you to revisit the AnLinux app to generate an additional installation script. After this has been run, however, you can then access your desktop through a local VNC client. We were even able to connect remotely via an SSH connection forwarding port 5901 to our remote host. It works brilliantly, and a modern smartphone is more than capable of native desktop speeds, even over VNC, letting you get real work done.
Project Website
https://github.com/EXALAB/AnLinux-App
Classic pinball
Space Cadet
Software recreations of real pinball games shouldn't work. Left and right mouse buttons can't simulate the feel of the paddles, nor can the space bar replace the spring and thunk of the ball launcher. Pinball is a physical game that needs to exist within a real space, alongside other games in a real environment. The physicality of the mechanism, the momentum in the chrome ball, the flashing lights, and the crude sound all contribute to the heady playability cocktail that anyone who loves pinball will know. And yet, despite all this, software recreations of pinball games can and do work. This was proved early on in the 8-bit era and with the wonderful Pinball Dreams and Pinball Fantasies on the Commodore Amiga, which all effectively made pinball a whole new software arcade genre that continues to this day.
Decades later, you can now play full 3D recreations of real and invented pinball games in virtual reality, and many ardent players have built their own physical machines with PCs and large LCD panels to replace the mechanisms beneath the glass. But there's now also a huge group of players who crave the instant playability and gratification of those early software recreations, and on the PC, few were more loved than Space Cadet. Space Cadet was a Windows-only game from before the turn of the millennium. It was significant for using a 3D model for the layout and physics and was incredibly accurate and playable for a virtual recreation. In a hugely impressive feat of software development, the original binary has now been reverse engineered and refactored to build on any modern system, Linux included. All you need are the original data files and the game becomes 100 percent playable. It's still a brilliant blast of pinball.
Project Website
https://github.com/k4zmu2a/SpaceCadetPinball
Buy this article as PDF
(incl. VAT)