Your screenshot shows an error which means the installation did not finish successfully. The issue is that their installer is trying to create a file in a directory which is read-only on Endless OS.
I took a look at how you can work around it. Here are some steps that worked for me:
- Download the latest version of the installer. For me it was
pia-linux-3.5.7-08120.run
. I’m assuming it’s saved to ~/Downloads
as in your screenshot.
- Run the following commands:
cd ~/Downloads
sh ./pia-linux-3.5.7-08120.run --keep --noexec
You should see output like the following:
Creating directory pia-linux-3.5.7-08120
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Private Internet Access 100%
Now run the following commands:
cd pia-linux-3.5.7-08120
sed -i -e s,/usr/share,/usr/local/share,g install.sh
sudo mkdir -p /usr/local/bin
The sed
command patches the PIA installer to install the app launcher to a writable path. The sudo mkdir
command creates a directory that the installer assumes will exist, but does not.
Now you can run the installer:
./install.sh
You should see output like this:
=================================
Private Internet Access Installer
=================================
Installing PIA for x86_64, system is x86_64
✔ Added group piavpn
✔ Added group piahnsd
✔ Copied Private Internet Access files
✔ Allow non-root /opt/piavpn/bin/pia-unbound to bind to privileged ports
✔ Created var folder
✔ Installed icon
✔ Created desktop entry
✔ Set wgpia interface to be unmanaged
✔ Created piavpn service
Created symlink /etc/systemd/system/multi-user.target.wants/piavpn.service → /etc/systemd/system/piavpn.service.
✔ Started piavpn service
and then the app will launch. You can see that it has a launcher, and an icon in the top bar:
If you’re a Private Internet Access customer please can you report this issue to them? The problem is that they are assuming that /usr/share
is writable, but on Endless OS and other immutable Linux distributions such as Fedora Silverblue it is not, and in any case it should be managed by the system package manager. They should be placing the .desktop
file and icons into /usr/local/share
, which is on the default $XDG_DATA_DIRS
search path.