Using ExpressVPN on Linux: Quick Overview
You’ve landed on our quick-start guide to setting up ExpressVPN on Linux. We cover the basics of installation and configuration step by step, plus best practices for getting the most out of ExpressVPN. For niche versions of Linux without compatible ExpressVPN software, we’ll also show you how to use Terminal to get the same great privacy provisions.
Linux is an incredible achievement of open-source software, but its users all know how much of a pain it can be to get some software working. This is because the operating system has been overlooked by many developers, who prefer to target their efforts on more widely adopted (and therefore more profitable) platforms like Windows and MacOS.
Fortunately, this isn’t the case with ExpressVPN. Unlike some VPN providers, ExpressVPN does support Linux and has an extensive section in its support pages about installing the software onto a Linux system. To help you out with this task, we’ll talk about why Linux users might need a VPN and then show you step by step instructions for how to install and use ExpressVPN for Linux.
ExpressVPN – Special Linux deal
If you’re a Linux user and you want to try out ExpressVPN, then we have a special offer on subscriptions that you will want to check out:
![windows logo](/app/themes/addictivetips-2017/static/img/icons/windows.png)
![macos logo](/app/themes/addictivetips-2017/static/img/icons/macos.png)
![ios logo](/app/themes/addictivetips-2017/static/img/icons/ios.png)
![linux logo](/app/themes/addictivetips-2017/static/img/icons/linux.png)
- SPECIAL OFFER: 3 months free (49% off – link below)
- Fast serves with minimal speed loss
- OpenVPN, IPSec & IKEv2 Encryption
- Strict no-logs policy
- Live chat support available.
- Max 3 simultaneous connections
- Slightly more expensive than some other options.
ExpressVPN is a VPN that is popular among serious internet users thanks to its combination of speed, security, and flexibility. The connections available are super fast and are perfect whether you’re browsing the web, streaming high definition video, or downloading large files. The security measures include the essential use of strong 256-bit encryption to prevent hackers from cracking your encryption, and a no logging policy so that you can be sure your privacy will be protected. There are more security features available too like a kill switch, DNS leak protection, and an IP address checker.
The number of servers available is huge, with a network of over 3,000 servers available in 160 locations in 94 different countries. This means that you can easily get around region locks to view content from other countries, like funny videos on Comedy Central in the US, educational documentaries on BBC iPlayer in the UK, and great sports coverage from CBS in Canada. The software from ExpressVPN isn’t only available for Linux, either: it can also be installed Windows, Mac OS, and Android, plus some smart TVs and games consoles. And don’t forget about the browser extensions for the Google Chrome, Mozilla Firefox, and Apple Safari browsers.
Read our full ExpressVPN review.
Why Linux users benefit from a VPN
As a Linux user, you might feel pretty happy about your security situation. Linux users are far less vulnerable to viruses and malware than Windows or Mac users, thanks to both the option to improve your security options on Linux and the fact that is a lesser used platform making it less appealing to malware coders. Overall, your Linux machine is less likely to be hacked than a Windows machine or a smartphone. So you might think that you have no need for a VPN.
In fact, thought, Linux users can still benefit from beefing up their security with a VPN. One big issue is online privacy; no matter how good your virus protection, if you go online then your activities can still be tracked. When your connect to your home internet network it’s shockingly easy for your ISP to see what sites you are visiting, what files you are downloading, and whether you are using P2P downloads like torrents. Linux users are just as likely to receive legal threats due to using torrents for copyrighted material as a Windows or Mac user.
So even if you think that your Linux system is safe, you still need a VPN to protect your privacy when you go online. As Linux users tend to be more tech savvy than other OS users, in fact they generally appreciate the need for privacy protection even more than most people. That’s why VPN use is popular among Linux users too.
ExpressVPN for Linux
ExpressVPN is one of the most popular VPNs thanks to its great security and super fast connections. They are also known for supporting a wide range of platforms – and this includes support for Linux. If you are unsure where to start setting up ExpressVPN on Linux, then you can find information on the ExpressVPN support pages.
There are two ways that you can install ExpressVPN on Linux. The first method is to use the Linux app which is available from ExpressVPN and which works on systems running Ubuntu, Debian, Fedora, and CentOS. The other method is to set up your VPN connection using OpenVPN, which is less convenient than using the app but has the advantage of working on almost all distros. We’ll give you full instructions for installation using both of these methods below:
Setting up ExpressVPN on Linux using the app
The easiest way to get ExpressVPN on Linux is to use the Linux app. The command line-based app is lightweight and makes it easy to see a list of available servers and to connect to the server that you want. There are specific installers for the app available for Ubuntu, Fedora, and Raspbian. You’ll need to know whether your OS is 32 bit or 64 bit before you begin.
Now we’ll start with downloading the app an installing it:
- Begin by opening your web browser and navigating to https://www.expressvpn.com/users/sign_in
- Sign in with the username and password you used when you signed up for ExpressVPN
- On the My Account page, look on the Dashboard tab. If you’re on another OS, like Windows, then you’ll see a button saying Download for Windows. But we need something else, so look for a button that says Set Up on More Devices
- Now the download page will open, at https://www.expressvpn.com/setup
- On this page you’ll see your Activation Code in the blue box (it’s blanked out in our image for security reasons, but your code should be right there). Take a note of the code as you’ll need it later
- Scroll down the page until you find the Linux option in the left hand menu. Click on this
- Now you’ll see a drop down menu with the options for installing ExpressVPN. Choose from the options: Ubuntu 32 bit, Ubuntu 64 bit, Fedora 32 bit, Fedora 64 bit, and Raspbian 32 bit
- Click the Download button to start downloading the .deb file
- Now we can proceed with the command line installation for the app. Open up the terminal
- Navigate to the folder where you saved the installer file
- Once you are inside the correct folder, run the command to install the file. On Ubuntu, Mint, and Debian that’s sudo dpkg -i [installer filename] while on Fedora or Cent OS that’s sudo yum install [installer filename]
- You’ll see a message in the terminal that the .deb file is being unpacked and the app is being installed
- Once this is complete you need to activate the app. To do this, open up a new terminal
- Now run the following command: expressvpn activate and then paste in the activation code that you saved earlier
- You’ll see an option to share crash reports. Hit Y for yes or N for no
- Now your app is activated, your preferences are set, and you’re ready to use the app
Using the ExpressVPN app
Now that the ExpressVPN app is installed, here’s how to use it to connect to a server:
- Go to your terminal and run the following command: expressvpn connect
- This command automatically connects you to your last previously connected server. If this is the first time you are running the command, then the app will automatically connect to a recommended server
- You will see a message confirming that ExpressVPN is connected
- You can also type expressvpn status to see information about the status of your connection
- Once you are connected you can browse the internet freely, knowing that your VPN is keeping you safe
If you want to disconnect from a server, then do as follows:
- Go to your terminal and run the command: expressvpn disconnect
- This will disconnect you from the server
- You will see a notification that the VPN has been disconnected
To connect to a different server – for example, to connect to a server in a particular country – then follow these instructions:
- Go to your terminal and run the command expressvpn list
- This will show you a list of available servers that you can connect to. A feature called smart location will select the optimal server for you, and this appears at the top of the list
- Choose the server that you want, then run one of the commands: expressvpn connect [LOCATION] or expressvpn connect [ALIAS]. For example, to connect to London you could use expressvpn connect “UK – London” or expressvpn connect uklo
- You’ll see a notification once you are connected to the new server
Finally, it can be useful to use the smart location feature. This selects a server that is nearby to you and which is fast for the best possible connection. Here’s how to use that:
- Go to your terminal and run the command: expressvpn connect smart
- This quickly connects you to a suitable server with no more input required
- You’ll see a notification that you are connected.
For more commands to use in the Linux app, see the ExpressVPN help page here.
Setting up and using ExpressVPN on Linux using the terminal
If you don’t have a version of Linux which is compatible with the Linux app, then you can still connect to ExpressVPN using the OpenVPN protocol. It’s not quite as convenient as using the app, but this method should work on virtually any version of Linux. Here’s how to use OpenVPN files to set up ExpressVPN on Linux:
- Use your web browser to navigate to https://www.expressvpn.com/users/sign_in
- Sign in with the username and password you used when you signed up for ExpressVPN
- Go the the My Account page, then look on the Dashboard tab. If you’re on another OS like Windows, you’ll see a button saying Download for Windows. But we want to go to the downloads page instead so look for a button that says Set Up on More Devices
- Clicking this will open the downloads page at https://www.expressvpn.com/setup
- On this page you’ll see your Activation Code in the blue box (it’s blanked out in our image for security reasons, but your code should be right there). Take a note of the code as you’ll need it later
- Scroll down the page until you find the Manual Config option in the left hand menu. Click on this
- Click on OpenVPN in the main section
- You’ll see a username and password (obscured here for security purposes). Take a note of this information
- Below that you’ll see options for configuration files organised by region. Select the server that you want your router to connect to. For example, we want to connect to the server in London, so we click on Europe then on UK – London
- This will start a download of a .ovpn file. Save this file somewhere convenient, like your desktop
- Now we need to install OpenVPN and configure it using the .ovpn file we just saved. The exact commands that you need to do this will differ between distros, so we’ll assume you’re working on the latest version of Ubuntu for the rest of this guide. For alternative commands for other distros, visit the ExpressVPN support page here
- To install OpenVPN, open a terminal and enter sudo apt-get install -y openvpn
- Now to configure OpenVPN we type the following command: sudo openvpn –up /etc/openvpn/update-resolv-conf –down /etc/openvpn/update-resolv-conf –script-security 2 –config
- You can now use the .ovpn file you downloaded earlier. Drag and drop the .ovpn file onto the terminal to capture the path
- With the path loaded, now you can connect to the server. Just press enter once the path is loaded and you will be connected to the server that you selected earlier. This will take just a second and you will see the line Initialization Sequence Completed once it is done
- You need to keep this terminal window open in order to keep the VPN connection active. You can minimise the terminal window, just don’t close it or you will terminate the VPN connection
One issue with this method is that it only lets you connect to one server – the server that you chose in step 9. However, you can go back and download lots of .ovpn files for all the different servers you want to be able to connect to. Keep these files somewhere safe, then you can simply drag and drop the file that you need each time to connect to that particular server.
Alternative – VPN browser extensions
There is another method that you can use instead of or as well as these methods. The methods above will ensure that all the data travelling out from your device will be encrypted, whether it is from web browsing, P2P downloads, instant messaging, or anything else. But if you’re only concerned about anonymising your web traffic, then you can use a VPN for your web browser.
Although this gives you less comprehensive protection than using the full VPN to encrypt all of your traffic, the advantage is that browser extensions are incredibly easy to install. ExpressVPN has browser extensions available for Google Chrome and Mozilla Firefox, two of the most popular browsers on the Linux platform.
RELATED READING: Best VPN Browser Extensions for Firefox Reviewed
Once you’ve installed the ExpressVPN extension for Firefox or for Chrome, you can quickly choose a server, connect, and disconnect from your VPN from within your browser. There is also an option for the smart location feature to connect to the fastest and nearest server, or you can choose your own server by location. One feature that you’ll want to enable is the option to automatically connect to the last used server whenever you open up Firefox, so you don’t accidentally send data unencrypted before the VPN starts up.
Conclusion
Even though Linux systems are generally safer from viruses and malware than systems running Windows or MacOS, it’s still a good idea for Linux users to consider their privacy and security needs. Linux users are as vulnerable to tracking of their internet activity as everyone else if they are not using a VPN to hide their IP address and encrypt their data. You could also use a VPN to access blocked sites on Linux.
Not every VPN provider supports Linux, unfortunately, but luckily the highly regarded ExpressVPN does offer Linux support. There are two methods available to get ExpressVPN on Linux: either through the Linux app or by using OpenVPN files. If your distro is compatible we recommend using the Linux app as this has the best features. But if you have another distro, don’t worry, as the OpenVPN option can be used to protect just about any Linux machine and keep you safe online.
If you’re a Linux user, do you have a VPN? Have you tried out ExpressVPN on Linux, and what was your experience like? Let us know about it in the comments below.
If you need a VPN for a short while when traveling for example, you can get our top ranked VPN free of charge. NordVPN includes a 30-day money-back guarantee. You will need to pay for the subscription, that’s a fact, but it allows full access for 30 days and then you cancel for a full refund. Their no-questions-asked cancellation policy lives up to its name.
It would be real cool if you guys could develop an applet for Linux.
You already use my notifications when I connect or disconnect, so access to my system tray isn’t an issue. It wouldn’t be that hard to make an applet instead of having to use a browser app/extension.
My ExpressVPN is configured to run on start-up, but there’s no applet, so I’m not really sure it’s on except to manually double check my terminal every day. Otherwise I would have to download and configure OpenVPN to get the applet notifications and widget.
All the above work well on Linux except the extension for Chrome. Always says “no app found” that despite the app actually being installed and the extension on Firefox working as expected.
Is there a way to have ExpressVPN automatically connect upon startup?