App Will Run in Debian Template, Won't Run Outside Template

You can use a command find
You can use a command ls to list contents of directories, or files - ls -l gives you a long listing.
You use cd to move around - files are organised in directories, and the top level directory is /. . means This directory, and .. means up a directory
You can use a command cat to quickly view the contents of a text file.
You can learn how to use these commands by using man - which is a basic
text based manual. You also learn by using the commands.

Linux comes with a “root” account which has access to places and things
that the ordinary user cant.
In Qubes, a standard qube allows you to access this account by using
sudo - you can “become” root by running sudo su - . When you have
finished exit will drop you back to the user account.

Use these commands to find relevant stuff, and look to see what is
happening.

So, open a terminal in the qube where you want to run Zoiper5.

sudo su -
cd / 
find -name "Zoiper*"
cat /usr/share/applications/Zoiper5.desktop
find -name zoiper5
ls -l ./usr/bin/zoiper5
ls -l /usr/local/applications/Zoiper5/zoiper
exit

You can see how each command generates output which you can use in another command.
The first find uses a wildcard - Zoiper* means “everything beginning with Zoiper”
You can see the desktop file has a line that begins “Exec=” . That is the command it tries to run.

The output of that last ls -l command shows that /usr/bin/zoiper5 is a
link - that’s why the line starts with l, and there is the ->
symbol.
The link is to /usr/local/applications/Zoiper5/zoiper
ls -l /usr/local/applications/Zoiper5/zoiper tells you that there is
no such file.

What’s happening here is that Qubes treats /usr/local in a special
way. This is because the qubes dont inherit everything from the
Templates. Read about this here

If you copy the applications folder in the template from usr/local to
usr/local.orig, then after closing down the template and recreating
the qube, the problem will be fixed.

You can do this using cp -rv:

sudo su -
cp -rv /usr/local/applications /usr/local.orig/
exit

I hope the formatting works out OK, so everything is clear.
You’ve learnt a huge amount if you have worked through this.

4 Likes

I will try this later this evening and post how it goes.

I have no idea what just happened.

2 Likes

You are a f*cking genius.

:partying_face:

1 Like