## Pursuing the question of, whether a Linux subsystem, that runs under Android, due to the UserLAnd app, can be used for Web development.

It was a subject which I wrote about several months, or years ago, that I had installed the “UserLAnd” app on my Google Pixel C Tablet, so that I could install Debian Linux on it. And a question which one reader had asked me was, whether such an arrangement could be used, to carry out Web development. In fact, some question existed, as to whether proprietary software could be made to run, and my answer was, that it would be preferred to run only Free, Open-Source Software.

In the meantime, I’ve uninstalled Linux from the Pixel C, and installed it on my Samsung Galaxy Tab S6, which has 256GB of internal storage, so that this question can be examined more seriously.

The answer I’d give to this question is, that Web-development can be done in this way, as long as the developer accepts some severe restrictions.

• Successful development of any kind will depend on whether the user has a real keyboard to type on.
• The Open-Source application “Bluefish” runs out-of-the box, which is more than I can say for any sort of Python IDE.
• Because there is little possibility to run a Web-server on the tablet, the features which Bluefish would normally have, to edit PHP Scripts as well, will simply need to be ignored. The ability to preview the Web-pages written, depends on the Guest System’s Firefox browser following the ‘prooted’ Guest System’s Filename-Paths, so that, when Bluefish opens Firefox, the HTML File will essentially be opened as if from the hard drive. And the feature works…

The main reason I would say, not to invest in paid-for software on this platform, is, because its full potential will not be realized.

The HTML and CSS Files created in this way will next need to be transferred to an actual Web-server, and some of the ways in which Bluefish would be set up on a real Linux box, would make this easier.

(Updated 10/03/2020, 4h00: )

## Problems Getting Synaptic To Work, On My Google Pixel C Tablet

One of the facts which I’ve blogged about was, that I had used an Android app (that does not require root) in order to install a Linux Guest System, on my Google Pixel C Tablet. The version of Linux it’s subscribed to is Debian 10 / Buster. And, the CPU of that tablet is an ARM-64. One of the considerations which need to be made, when setting up this Guest System, is that both RAM and Storage are scarce, the latter because the entire Linux Guest System consists of Application Data, belonging to this one Android app.

One idea which I was pursuing until last night was, to get the Synaptic GUI to work, where the ‘apt-get’ command-line does already work. Either would provide the main way to install software. But the GUI is much nicer, in allowing searches for packages to take place, instead of just package-names being burped on the command-line (blindly), and also, displaying lengthy descriptions of the packages first.

The way I’d need to launch Synaptic is like so:


$xhost +$ sudo synaptic



The first bug which needs to be dealt with, is This Bug. But, even when that bug has been dealt with, there are more problems facing the use of Synaptic under Debian / Buster. And they all have to do with the fact that the new Synaptic can no longer be used effectively, to search for packages.

First off, in order for the Search Field to display in the toolbar of Synaptic, one needs to install the following:


$sudo apt-get install apt-xapian-index$ sudo update-apt-xapian-index



This is a process that takes about an hour to complete, and when it has completed, its only result is that the Search Field displays in the Tool-Bar of Synaptic. By itself, this Search Field is useless because it only acts as a filter, on the actual search results, that we get when clicking on the Search Button. And, this process is not optimal in a ‘proot’ed environment, on an Android tablet, because the fully built database takes up more than 200MB.

The actual Search Button has been rendered useless. When told to search both the names and descriptions of packages, the resulting search takes about 20 minutes to complete, and does not become faster the second time, even when we have ‘apt-xapian-index’ installed and set up. The only other possibility is, only to search the names of packages, which defeats the entire purpose of using Synaptic.

I once had a (Debian 8 / Jessie) Linux Guest System installed the same way, on a Samsung Galaxy Tab S, first generation, and the searches within Synaptic were quick and painless.

(Updated 9/07/2019, 15h15 … )

## I now have Linux installed on my Google Pixel C tablet.

As the title of this posting suggests.

I used the Android app “UserLAnd“, which does not require root. The most recent versions of this app offer a VNC Server, which emulates an X-Server within the Linux system. And the implementation of VNC is ‘TightVNC’. Plus, the latest versions of this app offer a built-in VNC Viewer, that I find makes the most, out of the tiny icons that display on the high-res screen, as well as out of the fact that often, users will want to operate the GUI with their fingers, along with the physical keyboard that my Pixel C pairs with (:7) …

The setup of this Linux Guest System is much easier than my earlier experience was because the basic Linux distribution, the desktop manager, and certain apps can all be installed just by tapping on a few icons. And then, using the ‘sudo apt-get’ command-line, additional Debian packages can be installed.

There is an interesting side effect to this project: When I give the command:

\$ cat /etc/debian_version

I obtain the result ‘10.0‘. This would mean that the Linux version which I’m getting, is the new Debian / Buster, which none of my PCs nor my Laptop are even running. However, the repositories that I’m subscribed to are labelled ‘stable’. The CPU is an ‘arm64′. And the desktop manager I chose was ‘LXDE’. I installed a full productivity suite, including LaTeX. But, I found that three Linux applications did not run:

• LyX – The graphical, WYSIWYM LaTeX Editor (:2).
• Synaptic – A GUI for apt-get that makes it particularly easy to browse package-repositories, before selecting which packages to install.
• Latexdraw‘ (:1) (:6).

Everything else I tried seems to work, including “LibreOffice”, “GIMP”, “InkScape”, “Firefox ESR”. On my own, without the aid of simple GUI-buttons, I was also able to install and run “Texmaker”, “Dia”, “Xfig”, “OpenClipArt”, “Maxima” and “wxMaxima”, the Computer Algebra System and its Graphics Front-End. Getting that last item to work properly actually required that I install the package ‘fonts-jsmath’.

The Linux Guest System is currently taking up 5.37GB of my internal storage, and I finally also found out how to share files between the Guest System and the Host System. Within the Guest System, if on the Host System the root of the user folders is ‘/root/<sdcard>’, then this Host System root is mounted at ‘/host-rootfs/<sdcard>’ (within the Guest System). This means that I can open a path directly to this folder in the file-manager ‘PCManFM’, and bookmark it. (:3)

(Updated 9/07/2019, 17h40 … )

## 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.