How to Set Up and Use ExpressVPN on Linux (Updated 2024)

There is a general misconception that Linux systems are resistant to malware. While it is true that Linux distros offer more control in terms of security, they can be affected by malware. Using ExpressVPN, an elite VPN service provider, on Linux helps ensure it adequately protects your device from cyber threats. 

Setting Up ExpressVPN on Linux

Since there are various Linux distributions, it is better to clarify that ExpressVPN does not officially support all of them. It supports the following Linux distros: Ubuntu, Debian, Fedora, Arch, CentOS, and Raspberry Pi. Let’s take a look at the different ways you can install and use ExpressVPN on Linux

1. You can set it up through the ExpressVPN application. This works on all Linux distros ExpressVPN supports.

2. You can set it up through an OpenVPN Client. This is for versions of Linux that ExpressVPN does not officially support. 

3. You can set it up through ExpressVPN’s browser extension. This works by installing the browser extension on your browser. 

You don’t have to worry if you have no technical working knowledge of the command line, as we will guide you through every step. As long as you follow every instruction accurately, there should be no problems. Plus, even if you encounter difficulties, ExpressVPN’s support team is available 24/7 to help you.

Get ExpressVPN for Linux

Setting Up a Connection Through the ExpressVPN Application

ExpressVPN’s Linux application is command line-based. This method is the most straightforward way to set up and use ExpressVPN on Linux. Let’s take a look at the configuration steps.

1. Head over to ExpressVPN’s website and sign in to your account with your credentials. If you do not have an ExpressVPN account, you need to purchase a subscription package to create one. 

2. Once you’re in, go to your dashboard (click on the “Dashboard” tab). Then select the “Set Up Other Devices” tab, select Linux, and find your Linux operating system on the dropdown list. If you don’t know your operating system, open the Terminal application and input any one of the following:

uname -m



3. Click on the “Download” button beside the operating system you selected. 

4. On that same page, you should see an activation code. Copy it somewhere or leave the page open because you will need it later. 

5. The next thing to do is to install the application from the GUI or command-line. If you’re installing from the GUI, move on to the next step. If you’re installing from the command line, move on to step 7. 

6. Head over to the folder you downloaded the application to. Right-click the file and select “Open With Other Application” then “Software Install.” Once you select “Install,” a new window will come up asking for your password. Input your password and click “Authenticate.” Once the installation finishes, open your Terminal application, run the following, and move to step 9:


7. Open a new terminal window and navigate to the folder you downloaded the ExpressVPN installer. If it’s in the “Downloads” folder, run this command:

cd ~/Downloads/

8. Run one of these commands depending on your Linux distro:

Ubuntu/Debian – sudo dpkg -i [installer filename]

Fedora/CentOS – sudo yum install [installer filename] or sudo dnf install [installer filename]

Arch – sudo pacman -U [installer filename]

9. Then you need to input your password to approve the installation. For Arch Linux, input “y” to continue with the installation.

10 Next, you need to activate the application. Run “expressvpn activate” in the Terminal window. Go back to the browser page in step 4 and copy the activation code.

11. Back in the Terminal window, paste the code and press the “Enter” button on your keyboard. Note that the code won’t show when you paste. So ensure to paste it only once to avoid multiple entries of the same code. 

12. Next, enter “Y” if you want to share diagnostic reports with ExpressVPN. Otherwise, enter “n” to refuse. If you want to stop sending reports in the future, you can run the following command in a terminal window:

expressvpn preferences set send_diagnostics false

13. Now that the application is activated, the next thing to do is to use it. To connect to an ExpressVPN server, enter the following command in a terminal window:

expressvpn connect

ExpressVPN uses the Smart Location feature to automatically connect you to the best server available if you are connecting to a server for the first time. However, if it’s not your first time running the command above, ExpressVPN will connect you to the last server you used.

14. You should see a “Connected to [a server location]” message confirming the server connection is active. 

15. To disconnect a server connection, run the following command:

expressvpn disconnect

16. If you want to discover a list of ExpressVPN recommended servers (using the Smart Location feature), run the following command:

expressvpn list

17. If you want to see a list of every server available, enter the following command:

expressvpn list all

18. To connect to a server, enter the following command:

expressvpn connect [location or ALIAS of server]

For example, connecting to a London server can be either of the following:

expressvpn connect “UK – London” or expressvpn connect uklo

19. To use the Smart Location feature to connect to a server, enter the following command:

expressvpn connect smart

This guide is certainly adequate, but if you need more commands, you can check out ExpressVPN’s support center for help. You can also view a list of all commands you can use by running the man expressvpn command on your terminal. 

Setting Up a Connection Through an OpenVPN Client

This configuration guide is for users with a Linux distro that is not compatible with the ExpressVPN application. In fact, it should work on any Linux distro provided there is an OpenVPN Client application. Let’s take a look at the configuration process for this method:

1. Gain access to your ExpressVPN account and go to your dashboard. Buy a subscription plan if you don’t have an ExpressVPN account. 

2. Click on the “Set Up Other Devices” tab, then select “Manual Configuration.” 

3. Select “OpenVPN” and take note of your ExpressVPN service username and password. 

4. Below your service credentials are OpenVPN configuration files of servers you can download. Select a server you intend to use and download the .ovpn configuration file. 

5. Next, you need to install the packages. Since there are different Linux distros, we will use Ubuntu for this configuration process because it’s the most popular. Enter the following command to install OpenVPN on Ubuntu:

sudo apt install openvpn openvpn-systemd-resolved

Input your password, click the “Enter” button on your keyboard, and input “Y” to continue. 

6. Input the following command to start OpenVPN:

sudo openvpn –config /[path to file]/my_expressvpn_[server location].ovpn –script-security 2 –up /etc/openvpn/update-systemd-resolved –down /etc/openvpn/update-systemd-resolved –dhcp-option ‘DOMAIN-ROUTE .’ –down-pre

Note that you need to replace [path to file] and [server location] with the path to the .ovpn file you downloaded and location displayed in the file name, respectively. 

7. Next, you need to enter the service credentials discussed in step 3 above in the terminal. You should see “Initialization Sequence Completed” if you connect to the ExpressVPN server successfully.

8. The terminal window needs to be always open to keep the connection active, or else you lose the connection. 

Unlike using the ExpressVPN application, you need to download the .ovpn file of a server and input the command in step 6 above anytime you intend to change the server. You can get help in ExpressVPN’s support center for other distros. 

Setting Up a Connection Through a Browser Extension

While you can set up a connection through ExpressVPN’s browser extension, it is not a standalone option. You have to use it with the ExpressVPN application (version 2.0 and later), and it only supports Chrome and Firefox. Using the browser extension gives you a way to control the application through the GUI.

Once you have the ExpressVPN application installed and you want to install the browser extension, you can run the following commands:

For Firefox – expressvpn install-firefox-extension

For Chrome – expressvpn install-chrome-extension

A page on your browser will pop up. Click the “Get Extension” tab to complete the process. 

Get ExpressVPN for Linux

Advantages of Using ExpressVPN on Linux

Let’s look at the benefits of using ExpressVPN on your Linux device.

1. Security 

Many people believe that Linux devices are immune to malware, but that is not true. While they are less susceptible to malware, attackers can successfully attack them. Using ExpressVPN on your Linux device enhances your protection with robust security features.

2. Bypass Geo-Restrictions

With ExpressVPN, you can access the content of almost any region in the world. Over 3000 servers spread across 160 unique locations allow you to explore the entertainment world at liberty.

Frequently Asked Questions on Setting Up ExpressVPN on Linux

Is it safe to use ExpressVPN on Linux?

Yes, it is safe to use ExpressVPN on Linux. ExpressVPN’s security architecture is robust enough to keep bad actors away. It has security features such as 256-bit encryption, perfect forward secrecy, split tunneling, a kill switch, a proprietary Lightway protocol, and other secure VPN protocols. In addition, it does not store or make your connection history available to the government or third parties. You can trust that your data is safe with ExpressVPN, and no one will infiltrate your network except you hand over the keys to them. 

Will using ExpressVPN on Linux affect my connection speed?

Yes, using ExpressVPN on Linux will affect your connection speed. In some cases, it can increase your speed. For example, ExpressVPN can improve your connection speed if your ISP uses bandwidth throttling to reduce your speed. Otherwise, like every VPN service, it will reduce your speed. Encryption overhead and server distance contribute to a negative speed reduction. It is unavoidable, but ExpressVPN ensures it stays at the barest minimum. 

Can I use a free VPN as an alternative to ExpressVPN on Linux?

Yes, you can use a free VPN as an alternative to ExpressVPN on Linux, but it is a decision you will likely regret. Replacing ExpressVPN with a free VPN service is like replacing an impact-resistant security door with a regular door. There are several reasons why you should avoid using free VPNs. The major one is that you cannot trust them to keep you safe online. Google discovered that some free VPN services on Play Store spread malware. In addition, some sell your data to third parties in exchange for revenue. So, it’s better you subscribe to ExpressVPN than risk data exposure. 

Which Linux operating systems can I use ExpressVPN on?

ExpressVPN officially supports the following Linux operating systems: Ubuntu, Debian (9 & 10), Fedora (34), Arch, Raspberry Pi, and Mint. While ExpressVPN only officially supports these Linux operating systems, you can still use it on other Linux-based operating systems. However, ExpressVPN’s support team cannot help you if you encounter any issues in the configuration process.


ExpressVPN’s Linux application is the best option to protect your device from online attacks. There are also other methods, including using OpenVPN and installing ExpressVPN’s browser extension. While the Linux application works on only a few distros, the OpenVPN option is available to others. We hope that this article helps set up ExpressVPN on your Linux device.