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:
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.
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.
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.
1. Avoid the .deb AirVPN package on Ubuntu / Linux Mint
Installing AirVPN via the official .deb package can cause the following error to happen:
Screenshot
Text
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:
eddie-ui
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:
Screenshot
Text
eddie-ui
/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:
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.
The AirVPN GUI is called Eddie and relies on Mono, which may cause a lot of dependencies being installed:
Ubuntu
Linux Mint
Text
Suggested packages:
libmono-i18n4.0-all libgnomeui-0 libgamin0 logcheck-database
Recommended packages:
libgluezilla
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.
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.
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 …
account Shows account information.
cities
Shows a list of cities where servers are available.
connect, c
Connects you to VPN.
countries
Shows a list of countries where servers are available.
disconnect, d
Disconnects you from VPN.
groups
Shows a list of available server groups.
login
Logs you in.
logout
Logs you out.
rate
Rate your last connection quality (1-5)
register
Registers a new user account
set, s
Sets a configuration option.
settings
Shows current settings.
status
Shows connection status.
whitelist
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
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 https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/nordvpn-release_1.0.0_all.deb
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
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 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//repo.nordvpn.com: 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 https://repo.nordvpn.com/gpg/nordvpn_public.asc -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”.
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