Return to protonvpn.com Facebook   Twitter   Reddit   Instagram   Mastodon   ProtonMail
Support Center / Download and setup / How to use the official Linux app beta

How to use the official Linux app beta

The official ProtonVPN Linux beta app is available for many Linux Debian-based distros and Fedora 33 (please see Supported distros notes at the end of this article). Support for more distros will follow. If you are using ProtonVPN for Linux Version 2.0, we recommend that you upgrade to the new official client. Please note that the new ProtonVPN app doesn’t currently support Split Tunneling and doesn’t run on headless servers. If you need these features, then the community Linux app remains available.

How to install the official Linux beta app

Debian-based distros

Our app officially supports Linux Debian 10 and Ubuntu 18.04+. It also works with many distros based on these Linux versions (including Mint and Kali, but not Ubuntu Server or Raspbian), but we cannot provide support for these at this time.

If you are using an older version of  our Linux client, we recommend that you uninstall it before installing the new app. Please see the Notes(1) section at the end of this article for instructions. 

Open Terminal and enter the following commands (or just copy and paste them in).  Note: before starting, we recommend running the following command to ensure you system is up to date:

sudo apt-get upgrade

1. Add the ProtonVPN repository to your system’s software sources(2):

wget -q -O - https://repo.protonvpn.com/debian/public_key.asc | sudo apt-key add - 

Followed by:

 sudo add-apt-repository 'deb https://repo.protonvpn.com/debian unstable main'

Note: Once this repo has been added, the app will be kept updated by your default package manager.

2. Install the client:

sudo apt-get update && sudo apt-get install protonvpn

Fedora 33

Please note that our app does not work in earlier versions of Fedora. To upgrade your system, run:

dnf upgrade

1. Add the ProtonVPN repository to your system’s software sources.

To do this, create a text file in your /etc/yum.repos.d/ directory using a text editor such as Nano or Vim:

sudo nano /etc/yum.repos.d/fedora-33-unstable.repo

or

sudo vim /etc/yum.repos.d/fedora-33-unstable.repo

Copy and paste the following text into the new file:

[proton-fedora-33-unstable]
name="fedora-33-unstable"
baseurl=https://repo.protonvpn.com/fedora-33-unstable/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://repo.protonvpn.com/fedora-33-unstable/public_key.asc

Save and exit the newly created file using Ctrl + O, followed by Ctrl + X in Nano, or pressing the Esc button and typing “:x” <enter> in Vim.

2. Install the client:

sudo dnf update && sudo dnf install protonvpn

How to use the official Linux beta app

1. Log in using your regular Proton/ProtonVPN account details using the following command (please note that these are not the OpenVPN/IKEv2 login credentials used by the older community Linux client).

 protonvpn-cli login [ProtonVPN username]

You will be prompted to enter your password. If you don’t have a ProtonVPN account you can sign up for one here. The app will remember your login details between sessions. 2. Open a list of ProtonVPN servers with:

protonvpn-cli connect (or protonvpn-cli c)

3. Select a server location and click OK.Select a server at that server location and click OK. 4. Select udp or tcp (we recommend udp unless you have a reason to choose tcp). GIF for Linux login A connection to the VPN server will now be established. To check your connection status, enter:

protonvpn-cli status (or protonvpn-cli s)

To disconnect, enter:

protonvpn-cli disconnect (or protonvpn-cli d)

Alternatively, you can disconnect using NetworkManager. GIF for Linux connect

How to use the kill switch

The ProtonVPN official Linux app includes a kill switch. The basic kill switch will block all your internet connections when the VPN app is running and the connection to one of our servers fails. To enable it, enter:

protonvpn-cli ks --on

The app also features an always-on kill switch. This prevents all internet connections unless the VPN app is running and connected to one of our servers. To enable it, enter:

protonvpn-cli ks --always-on

You can disable the kill switch by entering:

protonvpn-cli ks --off

How to connect using the command-line

To see the full list of connection options, enter: 

protonvpn-cli c --help 

GIF for Linux disconnect To connect to the fastest ProtonVPN server for your location, for example, enter:

protonvpn-cli c -f

Or to connect to the fastest Tor server (Plus and Visionary users only), enter:

protonvpn-cli c --tor

Additional connection options, including specifying a custom DNS server, can be found by entering:

protonvpn-cli config --help

Please note that the official Linux app beta is under active development, so there may be changes to the commands described above. Entering protonvpn-cli h (or protonvpn-cli –help) will always show the latest commands supported by the app.

How to uninstall the official Linux CLI app

If you wish to uninstall the ProtonVPN official Linux CLI app, open Terminal and disable the kill switch (if it is running). To do this, enter:

protonvpn-cli ks --off

Then:

Debian distros

1. Uninstall the app with:

sudo apt-get autoremove protonvpn

3. Remove any leftover files:

rm -rf ~/.cache/protonvpn

And 

rm -rf ~/.config/protonvpn

Fedora 33

1. Uninstall the app with:

sudo dnf remove protonvpn -y; sudo dnf autoremove -y; sudo dnf clean packages

2. Check if all ProtonVPN packages are uninstalled:

dnf/yum list installed | grep proton

3. Check if any ProtonVPN folders remain on your system:

ls -ld /usr/lib/python3.*/site-packages/proton*

If any folders are found then remove them using:

sudo rm -rf /usr/lib/python3.*/site-packages/proton*

4. Check again that all folders are removed (see Step 3 above).

Notes

1. Uninstall the older community ProtonVPN app

To uninstall the older community ProtonVPN app,  run:

protonvpn configure

Select option 7) Purge Configuration. Then uninstall through the package manager you used for installation. For Debian, if the package is installed system-wide then use the command:

sudo pip3 uninstall protonvpn-cli

If not, then use:

pip3 uninstall protonvpn-cli

2. Add the add-apt-repository command 

Some minimal Debian distros (for example, Knoppix) do not include the add-apt-repository command. If you are missing this command then you can install it by running:

sudo apt-get install software-properties-common

3. Disable the kill switch if you have uninstalled the app

The kill switch can be easily disabled from within the official Linux app, but this will not be possible if you have uninstalled the app first without disabling the kill switch. This may result in your system being unable to access the internet. To remove the kill switch after the app has been uninstalled:

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- prefix. 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]

For example:

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.

4. 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
  • Gnome-keyring

Note that most distros come pre-installed with one of these dependencies, so usually no additional configuration is required. 

5. Supported distros

The ProtonVPN Linux app is currently officially supported on the following distros:

  • Debian 10
  • Ubuntu 18.04 (LTS)
  • Ubuntu 20.04 (LTS)
  • Fedora 33

We are working on adding official support for more distros, but we cannot offer support for unsupported distros and versions. The Debian client should work on many Debian-based distros, and we invite users to test-run this beta software on their systems. But we cannot provide support if things don’t work on these unsupported systems.

Leave a Reply

Your email address will not be published. Required fields are marked *

Don't find your answer? We're happy to help you!     Contact Our Support Team

Secure your internet

Get ProtonVPN

For customer support inquiries, please submit the following form for the fastest response:
https://protonvpn.com/support-form

For all other inquiries:
contact@protonvpn.com

You can also Tweet to us:
@ProtonVPN