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.

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
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.
Now I’ll install jq.
phablet@ubuntu-phablet:-$libertine-container-manager install-package -p 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:
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 | |
---|---|
Introduction | Introduction to the series and interrogation of the phone |
Ubuntu Touch | A Brief Overview of the Apps Pre-installed |
Libertine | Run Linux Desktop Applications on the phone |
Lots more articles are currently being prepared |