TeLOSThis past week I decided to pick a couple of projects at random from the DistroWatch waiting list to see what new, different, or interesting distributions are being developed. The first project I decided to try was TeLOS. TeLOS is a Debian-based project which uses Debian's Testing and Unstable branches as its foundation. The distribution runs the KDE Plasma desktop and its website lists an odd combination of features. The TeLOS website claims the distribution is lightweight and full-featured; customizeable and not bloated. It also reportedly honours open source software while including non-free firmware, Steam, and the proprietary Chrome web browser. In other words, each line of the project's description seems to contradict the previous line:
TeLOS Linux is lightweight and attempts to be fully-featured and easily customizable without being bloated. It is freely distributed and honours free, open source software. Nevertheless, some non-free proprietary packages are included to widely support common modern hardware. The most popular browser, Google Chrome, is also included.
I was curious to see what sort of result would come from trying to meet these design goals. TeLOS is available for 64-bit (x86_64) machines exclusively. It reportedly ships with Flatpak support, is touch screen friendly, includes a tool for downloading YouTube videos, and includes both Kodi and beta builds of Chrome. The project appears to publish weekly snapshots of its rolling release distribution and these snapshots are about 2.5GB in size.
Booting from the TeLOS live media displays the Debian logo for a few seconds and then displays a full screen web browser window. The live media runs the Chrome browser in full screen mode and opens a page which shows a Google search bar. There are also links to Google's on-line applications, Microsoft Office 365, and Netflix on the home page. The system was slow and unresponsive which I found was due to TeLOS gobbling up 100% of my CPU resources.
The web browser can be closed, either by restoring it to its usual windowed mode or by pressing ALT+F4. Terminating the browser shows us the KDE Plasma desktop. The desktop appears to be laid out in a manner to make it suitable for touch screens. There are giant icons on a vertical, transparent panel for launching the file manager and Chrome browser. There is another icon for launching the system installer. There is an application menu button which, when clicked, opens a full screen launcher with a grid of large icons.
TeLOS -- The KDE Plasma desktop with vertical panel (full image size: 302kB, resolution: 1360x768 pixels)
Even with the Chrome browser closed and having given the system several minutes to settle down, TeLOS continued to consume 100% of the CPU. A closer examination shows the plasmashell process eats up all available CPU cycles, causing the system to respond at a sluggish crawl.
I decided not to go ahead with trying to install TeLOS. The hungry plasmashell process would have resulted in an install time of several hours and the desktop looks like an awkward mess. I suspect TeLOS is intended to be used as a web kiosk with a touch-based interface as I can't think of any other reason to force the user to run Chrome in full screen mode and promote proprietary services by default.
* * * * *
snakeware 0.0.6Since TeLOS was running far too slowly to be practical and seemed to be focused on providing a platform for web services, I turned my attention elsewhere. Honestly, I handed a list of distributions I had not tried yet to someone else and asked them to select one for me. Their choice was snakeware. The snakeware project is highly unusual in that the entire user environment is the Python interpreter, which acts like a command line shell:
snakeware is a free Linux distro with a Python userspace inspired by the Commodore 64. You are booted directly into a Python interpreter, which you can use to do whatever you want with your computer.
The idea here is that we can copy, move, open, and modify data files and run applications by running Python scripting commands at the prompt. We are told that snakeware can run in QEMU and VirtualBox environments a well as some physical hardware. There is even a graphical user interface, called snakewm we can run from the Python prompt.
The current release of snakeware supports saving persistent data to live USB media under the /snakeuser directory. The project is designed to run on x86_64 machines and the Raspberry Pi 4. The download for the former architecture is 72MB while the Raspberry Pi build is 192MB.
The snakeware distribution boots almost instantly to a Python 3.8.2 prompt. Apart from the colour theme (white on black) one can immediately see the connection between snakeware and the Commodore 64 BASIC interpreter.
From the command line we can run lines of Python code in what appears to be effectively a single-user environment. As the documentation promises, we can run the snakewm command to start a graphical interface. At first there are no screen elements to examine or click. Nothing happens if we click or right-click on the desktop, which is a solid colour across the whole screen. We can press the meta key (left Windows key on most keyboards) to open an application menu.
The menu contains five entries: Clock, Fun, Games, System, and Tools. Each of these categories offers a few applications we can run. We can run a system monitor to see CPU usage, play Pong, open a command line shell to run Python commands inside a terminal. It is a very minimal, yet functional and responsive window manager.
snakeware 0.0.6 -- Running the snakewm interface and some applications (full image size: 122kB, resolution: 800x600 pixels)
I did run into trouble when trying to exit the graphical interface. Trying to shutdown the system or close snakewm caused the system to lock up. I was able to restart the computer from within snakewm.
Under the Python interpreter snakeware is still a Linux distribution and I found the operating system would run in both VirtualBox and on my laptop. There were some limitations though. The distribution failed to detect my laptop's wireless card and was unable to boot in UEFI mode. My laptop could run snakeware in Legacy BIOS mode.
The distribution does not do much, offer many services, include any obvious form of package management, a web browser, or much of the way of common operating system functions. However, I don't think it is intended to act like other Linux distributions. The snakeware project feels more like a proof of concept, a way to show people they can, technically, run a basic operating system from within a Python environment. It's not something many people will want to do, unless they really like the idea of immersing themselves inside Python, perhaps to learn the language in an intense fashion. Technically Python can manipulate files, run graphical applications, and can be highly flexible through the use of modules.
I learned a lot of my early programming knowledge through BASIC interpreters and I can see the value of teaching children Python the same way, though I wouldn't want to use snakeware as a general purpose operating system.
* * * * *
Hardware used in this review
My physical test equipment for this review was a de-branded HP laptop with the followingspecifications:
Processor: Intel i3 2.5GHz CPU
Display: Intel integrated video
Storage: Western Digital 700GB hard drive
Memory: 6GB of RAM
Wired network device: Realtek RTL8101E/RTL8102E PCI Express Fast