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.
It’s less complicated than it looks like. The text is just a poorly written mess, full of options (Fedora vs. Ubuntu, repo vs. no repo, stable vs. beta), and they’re explaining how to do this through the terminal alone because the interface that you have might be different from what they expect. And because copy-pasting commands is faster.
Yes, you can! In fact, the instructions include this option; it’s under “Installing the app without the Mullvad repository”. It’s a bad idea though; then you don’t get automatic updates.
A better way to do this is to tell your system “I want software from this repository”, so each time that they make a new version of the program, yours get updated.
I’ll copy-paste their commands to do so, and explain what each does.
sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc 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 sudo apt update sudo apt install mullvad-vpn
The first command boils down to “download this keyring from the internet”. The keyring is a necessary file to know if you’re actually getting your software from Mullvad instead of PoopySoxHaxxor69. If you wanted, you could do it manually, and then move to the /usr/share/keyrings directory, but… it’s more work, come on.
The second command tells your system that you want software from repository.mullvad.net. I don’t use Ubuntu but there’s probably some GUI to do it for you.
The third command boils down to “hey, Ubuntu, update the list of packages for me”.
The fourth one installs the software.
Thanks for the explanation. However trying to run the first command gives me sudo: curl: command not found
So I’m stuck right there in the first step lol
I would have guessed that Ubuntu would install it by default since its a very common way to get stuff from the internet (when in the terminal), but apparently not (the other option is
wget
which is most likely installed, but that uses a different way to get the stuff).You should be able to install curl with
sudo apt install curl
My fresh Debian install didn’t have that too and I thought it came with the installation
Debian doesn’t even come with sudo, git or curl by default. It’s kind of minimal on purpose.
It always throws me off on a fresh install when I can’t sudo
I didn’t know that any distribution comes with git preinstalled.
That should be easily solved with:
sudo apt install curl
You have two options: install
curl
(check @[email protected]’s comment) or do it manually. Installing curl is the easiest.If you want to do it the hard way (without the terminal), here’s how:
https://repository.mullvad.net/deb/mullvad-keyring.asc
from your web browser./usr/share/keyrings/
Really appreciate your replies dude. So many are being a bit of an jerks here, but you (and few other) have been really helpful.
You’re welcome.
I think that people being jerks take for granted how confusing this might be, if you’re new; we (people in general) tend to take vocab that we already know for granted, as well as solutions for small problems. …except that it doesn’t work when you’re starting out, and we all need to start out somewhere, right.
Yeah, once you work in Linux for so long seeing someone ask about curl missing is really easy to take for granted that we all started there, we’ve all been fresh on Linux. A lot of people take pride in their experience, but they shouldn’t lord it over those who are learning to advance themselves. It’s completely counter to why Linux even exists.
curl is a good tool to have in general, you can install it with sudo apt install curl
Wow, interesting. You may be able to install curl to fix that like this:
sudo apt-get update sudo apt-get install curl
Can’t hurt to try
sudo apt install curl
sudo apt install curl
sudo apt install curl
This is a great explanation. And really well written. Thank you for taking the time to put it together
I love this community because of responses like this.
Hmm… ProtonVPN team solved this in better way. They put the repo configuration stuff into DEB file, so it’s just a matter of double clicking it and clicking install on Debian-based and Ubuntu-based (I know Ubuntu is Debian-based) distros and then installing the ProtonVPN client through either GUI or CLI package manager, whichever you wish to use. More newbie-friendly.
Unfortunately, I also just learned they dropped support for Arch Linux :(
Any instructions that say sudo curl should be thrown out immediately.
Is curl so untrusted that you would prefer to use 3 commands (one which still needs root permissions) instead?
The point is that an HTTPS request does not need root permissions. Other steps might, and that’s indeed high risk.
The curl that ships with apt is ubiquitous enough that I trust doing
sudo curl xxx yyy
more than enough if it means avoiding typingcurl xxx /tmp/yyy && sudo mv /tmp/yyy yyy
Agreed it’s not best practice. But when somebody is saying the individual step-by-step is too complicated, you want to give them the simplest command possible. Even if it is more risky. It’s a trade off of accessibility versus complexity
to be fair all of that should be a flatpak you click once to install
Frankly in this case even a simple bash script would do the trick. Have it check your distro, version, and architecture; if you got curl and stuff like this; then ask you if you want the stable or beta version of the software. Then based on this info it adds Mullvad to your repositories and automatically install it.
nowadays they always come across as lazy to me, when a bunch of options are available to make installing software on linux painless.
I like them, even for software installation. Partially because they’re lazy - it takes almost no effort to write a bash script that will solve a problem like this.
That said a flatpak (like you proposed) would look far more polished, indeed.
oh i meant devs who provide packages but don’t bother with install scripts.
bash scripts are fine when they exist.
Ah, got it. My bad. Yeah, not providing anything is even lazier, and unlike “lazy” bash scripts it leaves the user clueless.