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.