Smartphone

Volla Phone Quintus running Ubuntu Touch: Linux Desktop Applications

This is a series looking at the Volla Phone Quintus running Ubuntu Touch. The phone sports a powerful Mediatek Dimensity 7050 with 8 cores, 8GB of RAM and 256GB of storage.

I’ve already set up shell access via ssh with a SSH key-pair following the ubports guide. This lets me log into the phone from my Linux PC, as I’m a big fan of the shell.

Libertine is a confined sandbox where you can install deb-packaged desktop-based Ubuntu applications. They can be CLI, TUI, or GUI apps. But Libertine is not designed to run server applications.

I first recommend installing Libertine Tweak Tool as I’ll need the lish shell command to complete an installation step. Without using lish, I’m unable to install desktop apps on the phone because of an error processing the dnsmasq-base package.

The tweak tool is an app available in the OpenStore app. Once installed, open the Libertine Tweak Tool and enable the Libertine Shell – lish option.

Libertine Tweak Tool
Click image for full size

Log in to the phone via SSH (it’s much quicker than typing the commands with the phone itself).

Create a container where desktop apps can be installed. I’m going to call my container test.

phablet@ubuntu-phablet:-$ libertine-container-manager create -i test

Note, any reference to test needs to be replaced with the name of your container.

The container will take a couple of minutes to download the packages and then fetch and install additional packages.

As mentioned above, I needed to resolve an issue with the dnsmasq-base package. But first, let’s resolve an issue where the container cannot find the name for group ID.

Edit the file /home/phablet/.cache/libertine-container/test/rootfs/etc/nsswitch.conf and add extrausers to the first 4 lines so that it looks as below:

passwd:         files systemd extrausers
group:          files systemd extrausers
shadow:         files extrausers
gshadow:        files extrausers

Next, enter the container and use lish to install the dnsmasq-base package.

phablet@ubuntu-phablet:-$ sudo -E bash

root@ubuntu-phablet:-# lish

(test)root@ubuntu-phabet:-# apt update; apt install dnsmasq-base

Exit the container and use chown to set permissions.

(test)root@ubuntu-phablet:-# exit

root@ubuntu-phablet:~# chown -hR phablet:phablet /home/phablet/.cache/libertine-container/test/

root@ubuntu-phablet:-# exit

Now I’m ready to start installing some desktop applications. These can include terminal-based apps too. Let’s install a couple. First, let’s install htop.

phablet@ubuntu-phablet:~$ libertine-container-manager install-package -p htop

Install htop

I’ll temporarily add the directory where the htop executable has been installed.

phablet@ubuntu-phablet:~$ PATH=$PATH:~/.cache/libertine-container/test/rootfs/bin

Now I can run htop on the phone.

htop

Now I’ll install jq.

phablet@ubuntu-phablet:-$libertine-container-manager install-package -p jq

Install jq

The jq binary has been installed to ~/.cache/libertine-container/test/rootfs/bin. As a temporary measure, I’ll add that directory to my PATH. I also need to add the location of libjq.so.1 to my LIBRARY_PATH

phablet@ubuntu-phablet:~$ PATH=$PATH:~/.cache/libertine-container/test/rootfs/bin

phablet@ubuntu-phablet:~$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.cache/libertine-container/test/rootfs/usr/lib/aarch64-linux-gnu

I can now run jq on my phone:

jq

This is just the tip of the iceberg. Libertine lets me run a whole raft of terminal and GUI-based Linux software on the phone.


All articles in the series:

Volla Phone Quintus
IntroductionIntroduction to the series and interrogation of the phone
Ubuntu TouchA Brief Overview of the Apps Pre-installed
LibertineRun Linux Desktop Applications on the phone
Lots more articles are currently being prepared
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Read our Comment FAQ before commenting.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments