AirVPN review on Linux

Eddie feels sluggish and is prone to crashes

Eddie, the AirVPN visual interface, is based on Mono and sometimes feels unresponsive. Eddie is subject to random crashes, although they do not happen very often:

AirVPN - The application Eddie - OpenVPN GUI has closed unexpectedly.
Eddie – OpenVPN GUI crashing on Linux

Even if the AirVPN GUI crashes, active OpenVPN connections will not be interrupted.

“No latency” used to be a good thing

Another common problem with Eddie is the disappearance of the “latency” values from the servers list – for no apparent reason. Active OpenVPN connections will stay alive, but connecting to a different VPN server without latency information makes no sense.

VPN graphical user interface on Linux (here: Linux Mint)
Server latency disappearing in Eddie / OpenVPN (Linux Mint)

After disconnecting and restarting Eddie, the “latency” column will reappear – but restarting Eddie will interrupt the current connection.

AirVPN on Linux pros & cons

AirVPN pros
  • Most complete graphical user interface on Linux (Eddie)
  • Whitelisting and blacklisting of countries and servers
  • Eddie and Hummingbird are open source software released under GPLv3
AirVPN cons
  • Sluggish and crash-prone GUI
  • Outdated UI design, no HiDPI support
  • No WireGuard support

AirVPN has a many options that no other VPN offers on Linux, for example whitelisting / blacklisting entire countries or specific servers, a “Network Lock” (kill switch) based on firewall rules, Tor integration and a home-brew OpenVPN version 3.

AirVPN’s visual interface for Linux (Eddie) offers more options than any other VPN GUI on this platform. Despite being a bit unstable and antiquated, Eddie is probably one of the best options for Linux users in 2021.

How to install AirVPN (Eddie) on Ubuntu, Linux Mint …

… or any Debian-based Linux distribution

In this post we’ll install Eddie, the graphical user interface (GUI) developed by AirVPN. Eddie can be used with any VPN service supporting the OpenVPN protocol, but Eddie is tailored for AirVPN.

Eddie can be downloaded at the AirVPN Linux download page but also has its own website, both them having identical content.

1. Avoid the .deb AirVPN package on Ubuntu / Linux Mint

Installing AirVPN via the official .deb package can cause the following error to happen:


DEB Package installation of AirVPN tutorial – Problems and dependencies


Selecting previously unselected package eddie-ui.
(Reading database ... 232467 files and directories currently installed.)
Preparing to unpack eddie-ui_2.18.9_linux_x64_debian.deb ...
Unpacking eddie-ui (2.18.9) ...
dpkg: dependency problems prevent configuration of eddie-ui:
 eddie-ui depends on mono-runtime; however:
  Package mono-runtime is not installed.
 eddie-ui depends on mono-utils; however:
  Package mono-utils is not installed.
 eddie-ui depends on libmono-system-core4.0-cil; however:
  Package libmono-system-core4.0-cil is not installed.
 eddie-ui depends on libmono-system-windows-forms4.0-cil; however:
  Package libmono-system-windows-forms4.0-cil is not installed.
 eddie-ui depends on stunnel4; however:
  Package stunnel4 is not installed.
 eddie-ui depends on curl; however:
  Package curl is not installed.
 eddie-ui depends on libsecret-tools; however:
  Package libsecret-tools is not installed.

dpkg: error processing package eddie-ui (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.9.3-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu4) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Errors were encountered while processing:

I could reproduce these errors on Ubuntu 20.10 as well as Linux Mint 19.x and 20 “Ulyana”. Trying to launch the AirVPN GUI produces the following error:


Error while installing AirVPN via Eddie on Linux


/usr/bin/eddie-ui: line 2: mono: command not found

Unfortunately, solving the problem is not so easy, as some mentioned dependencies won’t install trouble-free. Installing AirVPN via the PPA repository is much simpler, so that’s what the next paragraph is about.

2. Install AirVPN on Linux using the official repository

Here we will use the commands provided on the official AirVPN Linux download page, NOT the .deb packages. In a terminal, enter the following commands:

wget -qO -|sudo apt-key add -

On Ubuntu, you can safely ignore the following warning:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
as this instruction seem to be deprecated.

echo "deb stable main" | sudo tee /etc/apt/sources.list.d/

sudo apt update

sudo apt install eddie-ui

The AirVPN GUI is called Eddie and relies on Mono, which may cause a lot of dependencies being installed:


Eddie (AirVPN) installation on Ubuntu Linux

Linux Mint

Installing AirVPN (Eddie) on Linux Mint


Suggested packages:
  libmono-i18n4.0-all libgnomeui-0 libgamin0 logcheck-database
Recommended packages:
The following NEW packages will be installed:
  binfmt-support ca-certificates-mono cli-common curl eddie-ui libgdiplus libmono-accessibility4.0-cil libmono-btls-interface4.0-cil libmono-corlib4.5-cil libmono-i18n-west4.0-cil libmono-i18n4.0-cil libmono-posix4.0-cil libmono-security4.0-cil libmono-system-configuration4.0-cil libmono-system-core4.0-cil libmono-system-data4.0-cil libmono-system-drawing4.0-cil libmono-system-enterpriseservices4.0-cil libmono-system-numerics4.0-cil libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-security4.0-cil libmono-system-transactions4.0-cil libmono-system-windows-forms4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libmono-webbrowser4.0-cil libmonoboehm-2.0-1 libsecret-tools mono-4.0-gac mono-gac mono-runtime mono-runtime-common mono-runtime-sgen mono-utils stunnel4
0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded.
Need to get 19,4 MB of archives.
After this operation, 69,7 MB of additional disk space will be used.

Eddie will automatically install icons in the menus, but can also be started running eddie-ui. Now you’re ready to start using AirVPN – or any other VPN service via OpenVPN.

3. Connect to AirVPN and configure Eddie

Don’t look for AirVPN in the menus but for “Eddie” and an icon with blue clouds. You will to enter the root password upon launch.

AirVPN GUI screenshot

Don’t be fooled by the interface design (which may have looked fantastic 15 years ago): you won’t find a more complete VPN GUI on Linux.

1. Avoid the “bootstrap error” and subsequent crashes

If you happen to shut down your internet connection or have configured your router to shut down in the night hours, Eddie will throw hundreds of system notification, an error message (see below) and may become totally unresponsive.


Eddie (AirVPN) bootstrap error

Linux Mint

AirVPN GUI screenshot on Linux Mint

… to be continued.

NordVPN on Linux: a comprehensive review

Without any doubts, NordVPN is one of the greatest VPN service provider worldwide, counting 6500 servers in 59 countries. If you didn’t alredy, check out my installation guide. Let’s see how NordVPN fares on Linux.

1. Using NordVPN on Linux

1.1 …

Shows account information.

       Shows a list of cities where servers are available.

   connect, c
       Connects you to VPN.

       Shows a list of countries where servers are available.

   disconnect, d
       Disconnects you from VPN.

       Shows a list of available server groups.

       Logs you in.

       Logs you out.

           Rate your last connection quality (1-5)

           Registers a new user account

       set, s
           Sets a configuration option.

           Shows current settings.

           Shows connection status.

           Adds or removes an option from a whitelist.

       help, h
           Display syntax for the given operation. If no operation was supplied, then
           the general syntax is shown.

nordvpn cities
Usage: nordvpn cities [country]

Use this command to show cities where servers are available.

Example: ‘nordvpn cities United_States’

Press the Tab key to see auto-suggestions for countries.

Example 1. Connect to a recommended server
$ nordvpn connect

   Example 2. Connect to a server in a specific country
       $ nordvpn connect Australia
       $ nordvpn connect Switzerland
       $ nordvpn connect Greece

   Example 3. Connect to a server in a specific city
       $ nordvpn connect Sweden Stockholm
       $ nordvpn connect Australia Sydney
       $ nordvpn connect Japan Tokyo

   Example 4. Connect to a server in a specific country using the country code
       $ nordvpn connect US
       $ nordvpn connect JP
       $ nordvpn connect AU

   Example 5. Connect to a server in a specific group
       $ nordvpn connect P2P
       $ nordvpn connect The_Americas
       $ nordvpn connect Dedicated_IP

   Example 6. Connect to a server in a specific group and country
       $ nordvpn connect --group P2P Germany

   Example 7. Disconnect from VPN
       $ nordvpn disconnect
	   Example 8. Set a protocol
           $ nordvpn set protocol UDP
           $ nordvpn set protocol TCP

       Example 9. Enable Kill Switch
           $ nordvpn set killswitch enabled

       Example 10. Enable CyberSec
           $ nordvpn set cybersec enabled

       Example 11. Enable auto-connect
           $ nordvpn set autoconnect enabled

       Example 12. Enable auto-connect to specific country or city
           $ nordvpn set autoconnect enabled
           $ nordvpn set autoconnect enabled Australia
           $ nordvpn set autoconnect enabled Sweden Stockholm

       Example 13. Enable obfuscation
           $ nordvpn set obfuscate enabled

       Example 14. Enable notifications
           $ nordvpn set notify enabled

       Example 15. Change technology
           $ nordvpn set technology NordLynx
           $ nordvpn set technology OpenVPN

1.2 …

NordVPN on Linux pros & cons

NordVPN pros
  • Best-in-class network and speed
  • NordLynx implementation (NordLynx)
NordVPN cons
  • Only .deb and .rpm installation packages
  • No graphical user interface (GUI)

How to install NordVPN on any Linux distribution

In this guide, we’ll cover installing NordVPN on any (supported) distributions via the official NordVPN application or through native OpenVPN network managers.

NordVPN only provides .deb and .rpm packages. As of November 2020, there are no Snap or Flatpak files available. For this guide, I installed and tested the NordVPN Linux package on a Debian-based distribution (Ubuntu 20.10) and and on an RPM-based Linux distro (Fedora 33).

1. Installing NordVPN on Linux

NordVPN recommends installing its services via the NordVPN application.

NordVPN only provides .deb and .rpm packages. As of November 2020, there are no Snap or Flatpak files available. For this guide, I installed and tested the NordVPN Linux package on a Debian-based distribution (Ubuntu 20.10) and and on an RPM-based Linux distro (Fedora 33).

1.1 NordVPN on Debian-based Linux distributions

This installation procedure works on Ubuntu, Linux Mint, MX Linux, elementary OS or any Debian-based distribution.

If you want to install the .deb package via you distribution Software Manager, feel free to do so. As NordVPN offers no graphical user interface (GUI) on Linux anyway, I would recommend to use a shell.

Open a Terminal and paste the following command to download the Debian Package. Use the Linux middle-click-paste to insert any previously selected text in terminal windows, or right-click within the terminal to paste:
wget -qnc

Run the following command if wget is not installed on your system:
sudo apt install wget

Now install the NordVPN package and refresh the package list:
sudo dpkg -i nordvpn-release_1.0.0_all.deb
sudo apt update

NordVPN on Linux - Command line installation

If the installation was successful, remove the Debian package, as it is not needed anymore:
rm nordvpn-release_1.0.0_all.deb

The .deb package only installs the NordVPN repositories – now we still have to install the NordVPN native application:
sudo apt install nordvpn

NordVPN on Ubuntu

NordVPN should be installed now. You will be greeted by this useful message:

NordVPN for Linux successfully installed!
To get started, type 'nordvpn login' and enter your NordVPN account details. Then type 'nordvpn connect' and you’re all set! If you need help using the app, use the command 'nordvpn --help'.

To go on with this tutorial, jump to the Using NordVPN section.

GPG error: no public NordVPN key

If you get the following error:
GPG error: https// The following signatures couldn't be verified because the public key is not available: NO_PUBKEY

Add the NordVPN GPG public keys with the following command:
sudo wget -O - | sudo apt-key add -

NordVPN installation troubleshooting

On Ubuntu, I had a small problem after downloading the NordVPN .deb archive from the NordVPN Website. Opening the package with the default Ubuntu “Software Install” application resulted in the following error: “Failed to install file: not supported”.

NordVPN on Linux - Ubuntu installation - Open .deb file with default installer
Error message - Failed to install file: not supported

This error happened with Ubuntu 20.10 “Groovy Gorilla”, while I had no problems with Linux Mint 20 “Ulyana”. The solution is to use the command-line installation, follow the instructions here.

1.2 Install NordVPN on RPM-based Linux distributions

In the following part, check whether your distribution uses YUM or DNF:

  • DNF is currently used in Fedora, Red Hat Enterprise Linux 8 (RHEL), CentOS 8, Oracle Linux 8 and Mageia 7/8
  • YUM is used in the older RHEL/CentOS/OLversions 6.x nd 7.x

Download the NordVPN client package via the NordVPN Linux Download page or via with this command:

wget -qnc

If wget is not installed, install it with one of the following command:

sudo dnf install wget

sudo yum install wget

Or use curl instead:

curl -sO

1.3 Install NordVPN on other Linux distributions

Using NordVPN on Linux

NordVPN on Linux pros & cons

NordVPN pros
  • Best-in-class network and speed
  • NordLynx implementation (NordLynx)
NordVPN cons
  • Only .deb and .rpm installation packages
  • No graphical user interface (GUI)