https://mullvad.net/en/help/install-mullvad-app-linux
Trying to install VPN and these are the instructions Mullvad is giving me. This is ridiculous. There must be a more simple way. I know how to follow the instructions but I have no idea what I’m doing here. Can’t I just download a file and install it? I’m on Ubuntu.
Not at my computer, but you might check if there is a snap or flatpak
Some apps can only be installed from their own repositories. That usually involves some faffing with aging let’s to your key store, etc. That’s what the cryptic instructions are about. Most apps can be installed with one click from the distro’s main app store. Ubuntu is somewhat restrictive here, because it forces you to use snaps, which is their own proprietary packaging format. Other distros, e.g. Mint are more inclusive here. This is why Ubuntu isn’t recommended as much any more.
This is one of the hardest walls for people to jump over mentally, from scavenging the internet for binaries to using a package manager.
I think ideally one should understand what they’re doing, I think that if you did you would realise it’s not hard, just different from what you’re used to. Usually you install things using the graphical package manager, of which there are a lot, since I don’t know which one you are using nor have I used any of them in a long while, I’ll use the terminal as an example (same reason the site uses terminal commands), but all of this is almost assuredly possible via GUI.
To install things you usually do sudo apt install
, this is a huge advantage on Linux, it works similar to your phone in that everything gets updated together but also it installs dependencies separately, which means that instead of having 10 copies of the same library for 10 programs that use it (like on Windows) you get a single one, which is part of the reason binaries are smaller on Linux.
The problem with this approach is that some programs are NOT listed there, the only programs there are the ones the maintainers of your distro (Ubuntu in this case) can review and approve. So you can have a lot of different solutions for this:
The first and most obvious for Windows users is to download the .deb from the website and just run that like you would a binary on windows, i.e. double-clicking it, or from the terminal you can run sudo dpkg -i
. This works, but you lose the advantages of a package installed via your package manager, i.e. you would get the same experience as on windows, so it’s not ideal.
The second way is the one they’re describing, essentially you’re adding a new repository to the package manager, that the people who wrote the program are maintaining (instead of Ubuntu guys), this is a two step process, sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
that command is downloading the file https://repository.mullvad.net/deb/mullvad-keyring.asc
and putting it in /usr/share/keyrings/mullvad-keyring.asc
, this is needed because repositories are not trusted by default, that would be a security nightmare, you can do this via GUI if your problem is with the terminal , just download the file and copy it to that location, it’s just harder to explain than giving you a command. Then it’s adding the repository to the repository list, the command is echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list
that command has a lot to unwrap, in essence it’s editing the file /etc/apt/sources
and writing a line like .d/mullvaddeb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=amd64] https://repository.mullvad.net/deb/stable focal main"
there, but because the guy who wrote this doesn’t know your architecture (e.g. amd64) nor your version (e.g. focal) he wrote a command that gets that information from your system, you can instead write the file yourself if you know those. Then install via package manager as normal.
There’s a third way which is more recent which is install via snap/flatpak which is similar to install via package manager, except you don’t add new repos.
There’s a fourth way which is manually, usually when you compile stuff you install them manually.
I know it’s a lot to take in, but I’m of the opinion that if you understand what’s happening it makes things easier.
The problem is that for most users, when their setup is completed they won’t need to play with it for a while so after that any time they need to install something new through the terminal it means losing time to find instructions again.
Nothing is learned, to the eyes of a casual users it’s just meaningless entries getting copy/pasted and it’s information getting repeated again and again and again just with slightly different entries for each program. Meanwhile “how to install a program on Windows” would basically require one page on the whole internet to cover 99% of situations: “Download the install file, double click it, follow the on screen instructions to automatically install the program”.
Usually, it isn’t as complicated. For 95% of all apps (and 99% of all apps a casual user needs) you can go into your software center and just click “install”, the same you would on your smartphone.
This one here is just an edge case.
I also prefer well designed GUIs more than terminals, but after those few years now, I came to love the CLI.
Often, it’s just way more straight forward than clicking through 1000 ugly sub menus and chaotic regstry edits like on Windows.
Most stuff a normal user needs is well accessible through GUIs, and poweruser stuff or options one barely needs are and should be hidden.
If you’re scared, that’s good. Paste the commands into some GPT before executing them, that helps a lot.
But most beginner friendly distros like Mint and Zorin have GUIs for everything and hide the terminal well in the app overview because of that.
No this is the best way.
Apps on Linux have different “layers”. If you want an app like MullvadVPN, fast updates, integrated to your system, controlling DNS, blocking early boot connections to be completely air-tight, you need to do this.
The easy way would be sudo dnf install mullvad-vpn
on Fedora. But its not in their repositories, so all you do is add the repository and install it.
The same with Browsers, I recommend Brave and Librewolf, install them from their repositories and NOT from Flatpak.
All the other apps from Flatpak, use the Flathub repository.
Once set it up, then it works.