Why the Linux guest-system, on my Linux-tablet, is only a shell.

According to some of my own postings, I possess an old Android-based tablet, which is a Samsung Galaxy Tab S, first generation, onto which I installed a Linux guest-system, using the Android apps “GNURoot (Debian)” and “XSDL”, both available from Google Play. The latter of these apps emulates a simple X-server, which Linux-programs running under the first app can make use of.

The desktop-manager which I chose to use for my Linux guest-system is LXDE, precisely because that desktop-manager does not strictly require that Linux-based daemons be running.

But there are certain standard, LXDE-features which will not even work on that setup:

  • The Trash Bin
  • The LXDE-Settings Panel
  • (etc.)

The LXDE Trash Bin requires the package ‘gvfs’, and the Settings Panel requires the package ‘lxde-settings-daemon’. Both these dependencies launch daemons – i.e., programs that run in the background, and that make up part of a real Linux-session.

The ability to run daemons, essentially, requires that the user have a rooted tablet. Because I never rooted my tablet, I am without any daemons, that would normally belong to any Linux guest-system.

Continue reading Why the Linux guest-system, on my Linux-tablet, is only a shell.

How to Add a Web-browser to GNURoot + XSDL.

In This earlier posting – out of several – I had explained, that I’ve installed the Android apps “GNURoot Debian” and “XSDL” to my old Samsung Galaxy Tab S (first generation). The purpose is, to install Linux software on that tablet, without requiring that I root it. This uses the Android variant of ‘chroot’, which is actually also called ‘proot’, and is quick and painless.

However, there are certain things which a ch-rooted Linux system cannot do. One of them is to start services to run in the background. Another is, to access hardware, as doing the latter would require access to the host’s ‘/dev’ folder, not the local, ch-root’s ‘/dev’ folder. Finally, because XSDL is acting as my X-server, when GNURoot’s guest-software tries to connect to one, there will be no hardware-acceleration, because this X-server is really just an Android app, and does not really correspond to a display device.

This last detail can be quite challenging, because in today’s world, even many Linux applications require, direct-rendering, and will not function properly, if left just to use X-server protocol, à la legacy-Unix. One such application is any serious Web-browser.

This does not result from any malfunction of either Android app, because it just follows from the logic, of what the apps are being asked to do.

But we’d like to have a Web-browser installed, and will find that “Firefox”, “Arora” etc., all fail over this issue. This initially leaves us in an untenable situation, because even if we were not to use our Linux guest-system for Web-browsing – because there is a ‘real’ Web-browser installed on the (Android) host-system – the happenstance can take place, by which a Web-document needs to be viewed anyway – let’s say, because we want to click on an HTML-file, that constitutes the online documentation for some Linux-application.

What can we do?

Continue reading How to Add a Web-browser to GNURoot + XSDL.

The Sort Of Software that will Not Run, on my Linux Tablet

In this posting I wrote, that I had installed Linux in a chroot-environment, on my old Samsung Galaxy Tab S, First Generation tablet, which remains an Android-based tablet. I did this specifically using the apps from the Google play store, named ‘GNURoot’ and ‘XSDL’, which do not require root.

Here, I gave a compendium of Linux-applications which do run in the resulting Linux guest-system.

I think that I need to point out a broad category of Linux applications that will always remain poor choices:

  • Audio Editors,
  • Video Editors.

The problem with any Audio Editor, is that it will eventually need to input and output Audio – not just edit sound files – and any Video Editor, needs to give a preview of all its video-clips – not just edit video files. This seems like a silly thing to write, but is non-trivial in my present context.

I have taken a Linux engine – GNURoot – and connected it to an externally-supplied X-server emulation – XSDL. The pipeline between these two Android apps is very narrow. It consists of X-server protocol – which is excellent and rendering text and GUIs, of shared memory at its maximum, and of a PulseAudio server, visible on the Linux side as such, but collectively running on the Android side as an SDL client.

I have no way to provide OpenGL or SDL on the Linux-side. What this means, is that virtually any non-linear video editor will want to see both installed on the Linux side, while neither is provided.

Continue reading The Sort Of Software that will Not Run, on my Linux Tablet