Our official app supports Fedora 31+.
These instructions explain how to download and install the early access version of the ProtonVPN Linux app. The early access version gives you access to new features before they are released publicly, but it is still in development.
By using the early access version and sharing your feedback, you are helping us find and address bugs. However, if you are new to Linux or concerned about your threat model or, we recommend you download the stable version of our ProtonVPN Linux app.
Important: You cannot upgrade from the early access version of our Linux app to the stable version. You will need to uninstall the early access app and then install the official app. Similarly, if you are using the community-developed version of our Linux app or the stable version of the ProtonVPN Linux app, we recommend you uninstall it before installing the new app. See the Notes section at the end of this article for instructions.
1. Get the early access version of the ProtonVPN repo setup RPM package
2. Install the ProtonVPN repository
Double-click the downloaded RPM package to install the repo using your default package manager.
3. Update the dnf package list
Open Terminal and enter the command:
sudo dnf update
4. Install the ProtonVPN Linux app
sudo dnf install protonvpn
5. Install required dependencies for the alternative routing feature
sudo dnf install python3-pip
pip3 install --user dnspython>=1.16.0
Linux system tray icon
Our Linux app can show a system tray icon that stays active when you close the main ProtonVPN window and allows you to easily Quick Connect or Disconnect.
To install the system tray icon, open Terminal and enter:
sudo dnf install libappindicator-gtk3 gnome-tweaks gnome-shell-extension-appindicator
If the system tray icon does not show, open the Tweaks app and go to Extensions → KStatusNotifieritem / Appindicator support → On.
Tweaks can be installed using:
sudo dnf install gnome-tweak-tool
Restart your system.
You are now ready to secure your internet connection and access blocked content with ProtonVPN.
Your feedback helps us develop apps that meet your needs.
1. Uninstall the official app
To uninstall the official app
a) Uninstall our stable release repo and keys:
sudo dnf remove protonvpn-stable-release
b) Then run:
sudo dnf remove protonvpn -y; sudo dnf autoremove -y; sudo dnf clean packages
c) Check if all ProtonVPN packages are uninstalled:
yum list installed | grep proton
dns list installed | grep proton
d) Check if any ProtonVPN folders remain on your system:
ls -ld /usr/lib/python3.*/site-packages/proton*
c) If any folders are found then remove them using:
sudo rm -rf /usr/lib/python3.*/site-packages/proton*
Check again that all folders are removed (see step d).
2. Uninstall the early access app
The instructions to uninstall the early access app are identical to the instructions for uninstalling the official app (see above), except that to remove the early access repo and keys, use the following command instead:
sudo dnf remove protonvpn-beta-release
3. Uninstall the community-developed ProtonVPN app
To uninstall the older community ProtonVPN app, open Terminal and run:
Select option 7) Purge Configuration. Then uninstall through the package manager you used for installation. If the package is installed system-wide, use the command:
sudo pip3 uninstall protonvpn-cli
If not, then use:
pip3 uninstall protonvpn-cli
4. Disable the kill switch if you have uninstalled the app
If you need to uninstall our official Linux app, please disable the kill switch first, or your system may be unable to access the internet. To remove the kill switch after the app has been uninstalled, use the following instructions:
a) Identify ProtonVPN connection names by running the command:
nmcli connection show --active
This will display a list of all your system’s active connections.
b) Look for any connections with the pvpn- This usually includes pvpn-killswitch and pvpn-ipv6leak-protection, and may include pvpn-routed-killswitch. Delete all these connections using the following command:
nmcli connection delete [connection name]
nmcli connection delete pvpn-killswitch
c) Re-run the following command to verify that ProtonVPN connections have been deleted:
nmcli connection show --active
If any ProtonVPN connections remain, delete them as described above.
5. Required dependencies
Our Linux app needs one of the following dependencies installed in order to work. Installing both of these dependencies is not recommended as it may cause problems:
- KWallet or
Note that most distros come pre-installed with one of these dependencies, so in most cases, no further action is required. Also needed is: