New Linux user here. Is this really how I'm supposed to install apps on Linux?

Critical_Insight@feddit.uk to Linux@lemmy.ml – 160 points –

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.

249

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.

Can’t I just download a file and install it? I’m on Ubuntu.

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.

but I have no idea what I’m doing here.

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.

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 @TrickDacy@lemmy.world'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:

  1. Download the file https://repository.mullvad.net/deb/mullvad-keyring.asc from your web browser.
  2. Open your file browser as administrator. There's probably some link for that in the Menu.
  3. Move the file that you just downloaded to the directory /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

This is a great explanation. And really well written. Thank you for taking the time to put it together

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 :(

We’d love to support the new app for arch Linux but honestly we’re understaffed and don’t have the bandwidth to be supporting the same distros that we did before with the previous client (4 packages before vs 10 packages now). If anyone from the community is willing to make AUR packages for themselves and publish/maintain them we’re totally fine with that, as long as people keep in mind that it would be an unofficial version because we currently don’t support arch Linux with the new v4 app.

Also if anyone’s interested: https://boards.eu.greenhouse.io/proton/jobs/4140067101

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

I was wondering how they'd solve signature checking and key installation - and looking at their page they seem to recommend skipping checking package signatures which, to be honest, isn't a super good practice - especially if you're installing privacy software.

Please don’t try to check the GPG signature of this release package (dpkg-sig –verify). Our internal release process is split into several part and the release package is signed with a GPG key, and the repo is signed with another GPG key. So the keys don’t match.

I get it's more userfriendly - and they provide checksums, so not a huge deal, especially since these are not official Debian packages, but the package signing has been around since 2000, so it's pretty well established procedure at this point.

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 typing curl 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.

So usually people do install Linux software from trusted software repositories. Linux practically invented the idea of the app store a full ten years before the first iPhone came out and popularized the term "app."

The problem with the Mullvad VPN is that their app is not in the trusted software repositories of most Linux distributions. So you are required to go through a few extra steps to first trust the Mullvad software repositories, and then install their VPN app the usual way using apt install or from the software center.

You could just download the ".deb" file and double click on it, but you will have to download and install all software security updates by hand. By going through the extra steps to add Mullvad to your trusted software repository list, you will get software security updates automatically whenever you install all other software updates on your computer.

Most Linux distros don't bother to make it easy for you to add other trusted software repositories because it can be a major security risk if you trust the wrong people. So I suppose it is for the best that the easiest way to install third-party software is to follow the steps you saw on the website.

Some .deb packages actually include their repository and they can then be updated via the package manager. An example for this is the Vivaldi .deb.

Download the .deb and double click it. https://mullvad.net/en/download/app/deb/latest

People seem to be making this a more difficult job than it needs to be. Yeah I get we're powerusers but can't we drop that for 2 minutes while giving advice so a new user can actually get a job done quickly? Windows EXEs don't automatically update either. Sure it might not be the best way to do it but it's fast and not confusing. (EDIT: Apparently this specific program actually has it's own auto updater)

Things take time to learn. Throwing all of the existing knowledge of repo management at a new user at once does not work.

It's funny how quickly Lemmy turns on a dime between "Linux is easier than Windows" in threads about adopting Linux to "spend some time learning the terminal" when presented with a question that should be a single click (installing an app).

Before the hate train starts, I've been using Linux off and on for 30 years now. And I still struggle with making distros do things that shouldn't be that hard because they aren't hard in Windows.

In this case, to do the exact same as Windows, it literally is just a click.

To auto-update from a repository, it's a similar deal in Windows.

In this case, they're the same. Repos are preferred in GNU/Linux and installers in Windows, but both can do both.

As others have mentionned downloading the .deb and running it will also work, but I feel nobody gave your a tldr of why you may want to follow those instructions instead, so here it is:

Those instructions configure your package manager (apt) with a new repository for this application.

The upside to that is that anytime you will look for updates, this app will also get updated.


It's a bit more work up front, but it can pay off when you have dozens of app updating as part of normal system operations.

Imagine a world where windows updates would also update all your software, that's what this is.

Also, no, this is not an ideal way to do this. Ideally every package you want is in your distro's repos so you'd just need to do "apt install [package]".

The reason this one isn't is because mullvad wants to make sure you use their tested, secure, and updated version and they don't want to maintain that for every distro. So they have you configure your package manager to use their repos.

This is relatively uncommon to come across in Debian. You'll normally only find it in security applications or very niche ones. The Debian repos aren't the most comprehensive but they'll contain the vast majority of common softwares.

That's not how you do it.

Click 'Downloads' on the Mullvad website.

Scroll to the bottom section 'Unable to use the app'

Click 'OpenVPN'.

Download OpenVPN config.

You already have OpenVPN installed, skip all fancy installation steps.

Click network settings in the taskbar, 'New connection', 'OpenVPN', 'Import configuration'.

Turn on your new VPN connection. Done.

It seems Mullvad has the OpenVPN option tucked away as the very last option even though OpenVPN seems to be the easiest method. Why is that?

Because OpenVPN lacks the most important feature of them all - it will not remind you to top up your account balance.

Because they want to lock you into their app and make you think VPNs are complicated so you actually pay for the service.

As I've heard it, wireguard is much more secure.

I went with OpenVPN because it's installed on Ubuntu by default. Wireguard needs one extra apt-get command.

I don't think that Wireguard is more secure, its's simpler and thus easier to audit, but OpenVPN was audited to the gills already.

why tf wouldn't OP be better served by a provided repo? Literally a add it to the sources.list and never think about updates again.

Because installing some random app is worse than simply using pre-installed system service.

Both are security audited, but I'd still rather trust OpenVPN.

THIS!

Not one more repository to add, sign, reload at each update. And can get compromised.

Not one more piece of software to run that may, or may not, run properly (looking at you ProtonVPN)

Just download the wireguard or openvpn configs to some desired exit points, load them into NetworkManager as described, and BINGO you have an integrated way of switching desired location, a visual icon in the taskbar confirming your status, and no extra hassle.

Did you know that qbittorrent can be told to only work if the VPN is on? There are places where it matters.

And to answer your question, no, that is not normal. If a piece of software isn't available for your distribution, then consider finding another. Like, here, using NetworkManager to do the job!

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.list.d/mullvad.list and writing a line like deb [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".

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.

Which is why it's better to understand what you're doing than blindly copying pasting. You won't need to remember these since whatever you want to install if it's not on the repos you'll have to google it same as if you were on Windows.

Also on Windows the steps are: Download the install file, double click it, follow the on screen instructions to automatically install the program, then every week or so go back to the website, check if a new version was released, if so download it and install it again. If the configuration would be destroyed by doing this first, make a backup first, if the new version is not backwards compatible for configuration move the existing configuration changes so that you get the new default after install and can apply your changes afterwards.

That's closer to the truth, and you need to do that weekly for every one of the dozen or hundreds of programs a person has, no wonder people don't update their programs on Windows and become susceptible to lots of exploits over time.

Also, read my option 1, which is what most websites offer you first, i.e. download a .deb and run it which is the equivalent of Windows, with all of its downsides. For example if you go to that website that OP posted and click on downloads you can select Windows, Mac or Linux, and you can download an installer that way and be done with it. But only Linux has a better option that takes a couple more steps but saves you lots of time in the future.

then every week or so go back to the website, check if a new version was released, if so download it and install it again

Don't know what kind of program you're running but... No.

Also if you want adoption you need to make your product easy to use and not ask them to become experts at how things work. Do you think all bike riders know how to adjust their derailer or even care to know? No, because people have other things they care about. Same guess 6 for computers, if Linux requires users to understand how to do things manually in the terminal then the "year of the Linux computer" will never happen.

Don't know what kind of program you're running but... No.

My Linux has updates every week, which means that if I was on Windows to keep everything the same up to date I would need to check every website to see which app released this week, maybe this week Firefox had a new release, maybe next week it's mullvad VPN, and next week is the NVIDIA driver, but if I hadn't checked all of them I would not know which ones have a new release.

Also if you want adoption you need to make your product easy to use and not ask them to become experts at how things work

Agreed, but also you should have options so that power users can take advantage of it.

Do you think all bike riders know how to adjust their derailer or even care to know?

Do you think that bikes should not have gears since most people don't know how they work? No, because even if you don't understand the mechanics you can understand the general terms, and even if you don't understand gears you can just not use them, same as a package manager. Options is always better.

if Linux requires users to understand how to do things manually in the terminal then the "year of the Linux computer" will never happen.

It doesn't require it, you're ignoring the fact that OP could have just clicked download and download an installer same as he would on Windows. But if you can use the terminal and understand package managers you can use Linux in a way that Windows is impossible, if you can't you can still use Linux in the same way you would windows with all of the sales downsides.

the "year of the Linux computer" will never happen.

It won't, that's fine. People who don't want to lean anything about computers use iOS and Android now. And that's fine. I never want Linux distros to become like that.

Honestly the more I hear "year of linux will never happen", the more I am convinced it might come. I see ppl being defensive against a new trend

if Linux requires users to understand how to do things manually in the terminal

It doesn't require it but it is often easier. It's also alien when you're new.

Just as an addendum to your answer. In the command writing to mullvad.list the | sudo tee /etc/apt/sources.list.d/mullvad.list is using two helpful linux utilities to modify the command. The first is the | which is called a pipe and connects the text output of one program to the text input of another. The pipe is connecting the output of echo which simply prints a string, in this case composed of the outputs of several other commands to the program tee. Tee which is given admin privileges by the sudo takes an input stream and splits it between two files. In this case those are mullvad.list and since no other was provided stdout the output pipeline of the terminal running the command.

EDIT:

In the interest of further completeness. Another utility used in those commands is the command substitution operator of sh. So when the terminal is interpretting text $(some command) gets substituted out for the text output by the command in the parentheses. It is another common way of connecting commands on the shell to allow for more flexible and powerful commands.

The comment section here is a perfect example of why people don't use Linux

You got that right. So many contradictory comments for such a simple question.

That said, Linux for home use is a hobby and hobbyists expect a certain level of interest and basic commitment to learning. Also, the Linux community is a bit anti-Windows. So, coming on a Linux forum and complaining that a simple Linux task is too hard, basically because it isn't Windows and you didn't bother to read any documentation, pushes ALL the Linux nerd buttons, LOL.

Imagine going on a boardgame forum to complain that some super popular game is dumb because it isn't like a video game, and too complicated even though you didn't bother to read the game rules.

As a board game hobbyist, that happens all the time. Our community generally makes an effort to direct them to games with a lower weight and easier rules and encourages them to keep playing to grow the hobby.

That's not at all what happens with Linux.

+1 there is something nice about just downloading and double clicking an exe.

Maybe they should have a common file format for all distro that extracts, etc. for the current distro. I thought that was flatpak, but idk.

They have the .deb at the top of their download page, no need to install the PPA repository if you don't want. You can't get any more than "just downloading and double clicking an exe deb" than that on Ubuntu.

I will admit though, I wish there were an easier way to install PPAs.

This comment here is a prefect example of being unhelpful and inflammatory.

You added nothing to the conversation but instead tried to be "clever" by doing the same tired old "angsty Linux vs. Windows shtick" that's been around for as long as GNU/Linux was a thing.

Other people at least offered an explanation or suggestion.

No, he's 100% correct

100% correct about what? That people trying to offer different bits of advice/explanations are driving people away? Even if some of the advice is not the best/contradict one another, it's still support being given to another user.

Comments like these don't say or do much of anything. They just finger wag and scold people for not being the "100% best Linux representative" they can be. Believe it or not, people who are in Linux communities aren't a monolith of perfect technological wisdom and understanding.

My problem isn't even with the basis behind the comment which I actually somewhat agree with. It's just framed in a cowardly way that obnoxiously blames community members for driving people away.

So yes comments like these are useless and the people who make them are lazy.

It also fundamentally misunderstands why Linux has such low adoption rates at the desktop. It has much more to do with Windows being ubiquitous in desktop enterprise environments than Linux. MacOS is by all accounts even more intuitive and easier to understand than Windows with a greater selection of native programs than Linux on top of having billions of dollars at their disposal for advertisement, but you're not exactly seeing MacOS hit >60% of desktops.

Overall, for a thread that's supposed to help a newbie, this thread has a surprising amount of bad info. From saying Debian doesn't come with sudo (completely untrue, the Debian installer has an option of adding the user to sudo when most distro installers just add the user to sudo automatically) to saying installing MacOS programs is simply clicking on an icon (not really true either since the only time you're clicking on shit to install things on MacOS instead of using the store is if you're installing third-party software, in which case you have to dig through menus).

My favorite part of this thread is everyone just saying copy and paste the commands so it will work. Like we should totally get users into the habit of running random commands off the net as root.

I mean I agree that this is a new user nightmare, but we've been conditioning people for 30 years to download and run random .EXE files as admin too.

The random Exe downloads for Windows to update drivers kills me. Users are conditioned to accept it without complaint.

That page lists multiple installation methods, for multiple distros. There simplest one for you is just two steps.

  1. Download .deb installer

  2. Run apt install ~/Downloads/MullvadVPN-*_amd64.deb

It's not that complicated. That's just confusingly written. And caters to a wide range of users.

Its more secure to go through a package manager. Checking signatures is important.

You can verify the signature of the manual download as well. Either way, you are trusting the files you download over HTTPS from mullvad.net. There's no real difference, except that when you use the repo, you are trusting it indefinitely, whereas if you download the deb directly, you are only trusting it once.

Using the repo is less secure, because it opens you to future attacks against the repo itself.

Https is vulnerable to loads of attack. That's why we sign packages.

You're downloading the signing key over HTTPS either way, from the same server. That's the common point of failure.

That's why you download the key from multiple distinct domains from multiple distinct locations using multiple distinct devices and veryify their fingerprints match. If the key/fingerprint is only available on one domain, open a bug report with the maintainer.

Agreed.

Unfortunately, Mullvad's instructions just have you download the key from mullvad.net and add it in with no further validation.

You can also get it from their GitHub page, at least for the individual debs. Not sure if they have the repo key on GitHub.

bad advise, OP should use a repo if they have apt

edit: yes, I understand, one day I'll get rooted by whoever hacked the VPN app's servers

There's nothing wrong with installing a .deb manually.

Personally, I'd hesitate to add any third-party repos unless there is a very good reason. In this case, the only real difference is that you won't get the updates automatically with sudo apt update; sudo apt upgrade without the repo. Either way, the desktop app will notify you when updates are available. There's very little advantage to using the repo.

Adding a repo is very rarely required. It has deeper consequences than simply installing an app, and requires a higher level of trust. If you don't understand the security implications of adding a repo (and its associated key), then my advice is: just don't.

Yes, there is. You're risking downloading malicious software.

What are you on about? If you are using the 3rd party repo, you are just as likely to get malware than if you download the deb directly from the wbsite. Its literally the same thing, just adding the repo means that the malware could get installed automatically and without you knowing where it came from.

No, you're confusing two vectors of attack. I'm saying that if you fan trust the vendor, then you're still at risk from downloading malicious software that was manipulated between the vendor and you (man in the middle attack), unless you verified a signature using a key stores offline (note https is still vulnerable because the keys are stored online)

Not untrue, and I don't think that the possibility should be glossed over, but honestly, what do you think is more likely: this specific person getting specifically MitM'ed by a bad actor, or a bad actor taking control of a repo that hundreds of people blindly trust. I have a sneaking suspicion that OP's threat model isn't sophisticated enough to need to really, truly, be worrying about that.

This sort of thing happens dragnet. And mullvad users are definitely a group to be targeted. Dont assume OP isnt a refugee or journalist and give them bad advice that could get them killed

If OP is a journalist or refugee at risk of being targeted and killed, my advice is don't use a VPN, use TOR lol.

The Deb and ppa will have the same content, the ppa is just automatic, assuming the owner maintains it.

"I have no idea what I’m doing here" <- Happens in the beginning. How about you start by trying to know what exactly you are doing? Let me give you a fasttrack...

  1. The first command you get in the instructions is curl. It is generally used to download stuff from a networked server.

    1.1. To understand the -fsSLo in the command, I strongly advise you to check out the manual of curl using man curl in a terminal.

  2. The second command in the instructions is echo "something" | sudo tee some/file

    2.1 Here you see 3 commands echo , sudo and tee. 2.1.1 Again, you can use man command-name to check the manual pages for these commands 2.2 There is a | symbol over here. It is called the "pipe symbol", which is what you can use to search for it. It is usually difficult to search for the symbol itself and I haven't found a man page for it, but open man bash and look for "Pipelines" and you'll know what it is about. Use Link, Link and Link to help yourself understand this.

  3. The commands in "Install the package" use the apt program. This is a Package Manager. Its job is to read package information that package developers have made and try to not let the system become unusable.

    • e.g. If you have a program called Xorg from 5 years ago, and a program called mesa from 5 years ago and Xorg depends upon mesa to work. Here, if you replace your mesa with a new, recent mesa yourself, there is a good chance Xorg will not work. The Package Manager prevents that from happening.
  4. The gist of what the instructions are making you do is, telling the Package Manager that there is another place from where you want it to look for packages.

To understand man pages better, check out this link.

Don't think too badly of people dissing you in the comments. They are tired and fed up of help vampires. Hopefully, you can try not to become one.

  • Try and build your own process of understanding the commands you see on the internet before entering them into the terminal.
  • The comments telling you to just follow the instructions, are coming from the perspective that you don't have the patience and determination to understand them yourself, which, a lot of people don't. I will leave it upto you to determine which one you decide to be. It is, however, a bad idea to follow instructions on any website, just because it "seems legit". You can't really say you "trust" the site until you have the ability to find out for yourself whether you want to trust it.

Check this out

I don't want to sound arrogant but is reading a few paragraphs then copying and pasting 3 different commands into a terminal really that difficult?

It will make life easier in the long run as having a repo added will update the software with sudo apt upgrade in the future.

It's not difficult. I've installed several apps that way already. I just don't like blindly following instructions while having zero understanding of what I'm actually doing here. Also, in this case the instructions are unhelpful because nowhere it tells me to install curl first and because of me not having it the first command just comes back with an error.

cURL is a very commonly used program to download individual files from the command line and worth installing to have it around in the future.

sudo apt update
sudo apt install curl

The first command tells your package manager to update its list so you ask for the latest version. You can skip it if you've already updated today. The second command tells your package manager to install cURL.

This will happen every now and then, especially when building a package from source. You won't have some common utility that the documentation writer assumed you had, and you will need to find what package provides it and install the package.

The way to solve that problem is to read the commands and look up what they do. The installation method they describe is pretty standard and inoffensive. And provides automatic updates. The commands used aren't complicated and they're some of the system fundamentals for Debian/Ubuntu systems so it's a good idea being familiar with them.

Yes people would assume you have curl. Curl is often used to install programs. And curl is definitely one of the things that can do malicius things this way. So you are right to be hesitant to use commands that you don't understand. Most Linux users have forgotten how hard it is to learn the first stuff with no preaquired knowledge.

If you have googled "what is curl and how is it used" you may have found some relevant info.

I have given up on Linux because installing was hard in the past

There are some tools that make installing software easier. Like "appimage" files that are single files that (after you make executable) are completely self contained.

Flatpacks and snaps have an "store" like experience.

.deb files are also sometimes simple (also need to be made executable) (depends on the distro)

Unfortunately there is no .exe file experience.

In the time it took you to write this shit post and respond to all the comments you could have spent a couple of minutes reading and educating yourself on the process. It’s legit pretty simple especially if you’re willing to do a little research.

Kids these days i swear.

1 more...
1 more...

Gotta consider users on windows download random programs and blindly follow an installation wizard.

"follow an installation wizard" <-- I know people just out of uni (having completed BTech), who can't even do that. Keeping that in mind, I can have way more patience towards OP.

1 more...

The same MFs on here that rush to tell someone that Linux is easy and intuitive are the same ones that can't keep a small talk conversation for more than 5 mins, a social activity that humans have been doing for thousands of years.

My words might be a little broad, harsh, and even hurtful, but just a reminder that not all of us are good at learning the same things.

We didn't all come out of the womb knowing how to socialize or use Linux, but if we look back far enough, we can all relate to the struggles it takes to learn something new, and how much it sucks when someone treats you like you're stupid just because things sometimes don't click

The instructions on that page make it so that every time you run a system update, mullvad automatically updates as well. If you're happy doing the updating yourself, you can download the deb file from here: https://github.com/mullvad/mullvadvpn-app/releases

That's even more confusing.

I just don't get why on windows and mac I can download the app from their site, install it and it just works but on Linux I have to do everything thru terminal. It's not that I can't get it done but it just seems insane to me that it has to be this difficult.

You don't have to do everything through terminal. You can use synaptic for example. What you have to do is to learn new concepts. If you want to do everything like in windows, use windows.

I'm giving Linux a chance because people here recommended that I do and now you're telling me to use Windows.

You should try Linux because you want to and find it interesting to learn. If you are doing it because other people told you to, you are going to have a bad time.

Linux isn't Windows with different branding. Things work differently, and if you take the time to understand why you'll usually see the logic eventually, even if you may not to agree with it. I think folks are bristling a bit at your implication that things are hard on purpose somehow. Many experienced users find the terminal easier to use and more efficient; it shouldn't shock anyone (including you) that it's going to feel awkward when you don't understand it yet.

Howtos tend to use the terminal because it's likely to work the same for everyone regardless of what other choices they've made with desktop environment, etc.

You can do nearly everything with a GUI if you choose.

Learning about package management, and repositories, is part of the Linux experience. It's worthwhile to dive into the documentation and figure it out.

There is a learning curve, but the rewards are more software independence.

I don't recommend using anything new to you unless you are ready to learn it. If you are, welcome aboard!

I think a better way for the other user to have stated this, is learning Linux, while difficult at times, should be a fun and rewarding experience. I’m about a year in, and this is all easy stuff to me. One year ago? I would have been as frustrated as you are. But I persevered, I learned, and I got a sense of accomplishment out of becoming competent. I don’t really need to ask too many questions now, because the more I figure things out, the easier it gets to figure things out.

If you’re not into that, Linux might not be for you. But I hope it is, I hope you persevere and keep learning and find the same satisfaction from it that I have.

Look at it like this.

When you got your first smart phone, be it android or iOS, you didn't know where anything was, so there was a learning curve.

But, in the same way as phones, there are built in "stores". Those stores are called repositories, and they're accessible in more than one way. You don't actually have to use the terminal, it's just usually faster since you really don't type much more than you would entering a search in whatever GUI interface comes with your distro. Indeed, you can actually set up the commands in a notepad, change the package name each time, and copy/paste the commands, and you're only a couple of seconds slower than opening the package manager, searching, scrolling to find what you want, clicking to install... See what I'm getting at?

Windows isn't really faster than that. You have to go to a site, download, find the exe or msi in your download folder, then click in the various pop-up windows. And you can find .deb files that do the same thing as an exe or msi, just not for every program, because they're an unnecessary pain in the ass. It's extra steps.

I promise you, comparing the way Linux works now, and the learning curve it takes to the learning curve on windows back when it was a new experience (and I'm talking windows 95, the previous msdos shells were worse than that), Linux is way easier. And don't even get me started on how shitty a user experience DOS was. Jfc, I'm dyslexic, and it was a nightmare. Windows 95 wasn't a big jump better in dyslexia land, but it was at least better than DOS.

If you were used to something like mac only, and had never used windows, the transition would be similarly annoying. And, for me at least, dealing with installs on windows is more of a pain in the ass now that I'm used to package managers.

I did a clean install of Windows 7 on my media PC (and yes, you valiant security friends, it's air gapped) maybe two years ago. From start to finish, including programs, took me about five hours.

My laptop that I run Linux mint on? An hour, start to finish. The only differences in the programs installed are in specifics, not in types. I plugged in my live drive, hit install, and was ready to start installing programs in maybe twenty minutes. My media pc is an old gaming PC, btw. Tons of ram, ssd, etc. The laptop is an old thinkpad. So it wasn't like the laptop was better hardware lol.

Which seems tangential, but it's pointing to the underlying ease of use once you're used to the system. I've being doing windows installs since the nineties (and a little before, but only in classes), so it isn't like I'm not experienced. I've only been doing Linux installs since about 2015.

Hell, my very first Linux install was Ubuntu on my dad's old computer just to make sure I didn't screw a box up that was in use. Even that, going from Ubuntu being ready to go, and having the programs set up to use was only maybe two hours, and that was mostly looking up the very process that's been described by others in this thread and copy/pasting things in for each program.

So don't get discouraged. If you end up really not liking it once you get past the learning curve, that's okay, windows will still be there. You can go back to it. But, if you're like me at all, once that learning curve is past, you won't enjoy the extra hassles windows puts in the way.

IF you want it to work like windows. It's up to you, people here are giving you the options to choose whichever suits you.

Welcome to the community. As you can see, there are some that are quite helpful and others that are ... less so.

I agree with you that there should be a better way to do that. It's been a while, but I'm pretty sure the Chrome deb file handled all of that for you. I've always been confused why every company that sets up their own PPA didn't do that.

I don't know about Mac, but on Windows the Mullvad app doesn't auto update. If you want to do it Windows style you can look for deb files (which are like installers) or AppImages (which are like standalone executables).

Most pieces of software give terminal instructions for Linux because different people might use different package manager frontends, but literally every Linux user has a terminal. It might seem daunting at first, but giving users commands to run in their terminal is a lot more simple than trying to walk them through repo management through the GUI, or just telling them to figure it out themselves.

On Mac it doesn't autoupdate, but prompts you to Download the new version when it's available

On windows you can use Winget to install update

winget install -e --id MullvadVPN.MullvadVPN

I just don't get why on windows and mac I can download the app from their site, install it and it just works

That's what the instructions are guiding you to do.

If you hate the terminal then maybe Linux simply isn't for you? That's completely okay you know. Use the tool that's right for you.

Same reason you don't download installers for your phone, why don't you think it's confusing there?

One reason is that different distributions of linux do things slightly different. Would it be better if there was only one linux os? For some devs of third party software, probably, but diversity and freedom to fork software has been good to linux, and no one could decide what everyone else should use anyway.
So, each distribution takes the available software and package it to fit their distro specifics, and those packages go into their repositories. The benefit of using official repositories is that someone has gone through the trouble of making sure it will work on your system safely. There's accountability and hopefully a bug tracker etc. When you download from a random website you have to trust them instead. Then... you have companies working outside of this model, usually they provide a flatpak or their own third-party repositories. Then you get all these extra steps, but it's not how most distros prefer to handle software.

I can totally understand why the terminal seems confusing and scary right now, but it’s actually awesome for this kind of stuff because you can just copy and paste commands to do pretty much anything to your computer. Using a GUI often means having a bunch of screenshots that you have to follow manually to do something that a single command can do. Once you’re used to the terminal for these kinds of things GUIs can seem barbaric. Of course it seems scary before you know much about it because it seems like the fucking matrix, and you should only run commands from sources you trust (because they can do anything)… But it’s worth giving a chance, I think.

For this particular instance… often you can just download an application on Linux from a website and run it, but this is almost never the preferred way of doing things. Usually you install applications from your package manager, which is kind of like an App Store (but free), and the advantage of this is that 1) you don’t have to hunt down sketchy executables on the internet, you have a vetted source of safe packages from your distribution, and 2) you can easily update all of your packages. Having a one stop shop for all of your applications (or at least most) is really great, but it can be a little annoying when something you want isn’t in the official repos (like this), though it’s usually a fairly rare occurrence.

What annoys me the most with installing apps this way is that I have already installed several and while having been succesful I still have no clue what any of this does. What is sudo? What is apt-get? What is repositorie? What is package? I just don't know what any of this does and blindly following instructions isn't teaching me anything. When I try to looks for explanations or tutorial videos I'm just met with more jargon that I don't undestand. GUI is really intuitive for me as it helps me to visualize what's actually happening but playing around with terminal is really abstract and confusing. If I'm met with an error I'm completely stuck then. Only troubleshooting I can do is to make sure I typed the command correctly.

If you stick with it you'll eventually start to understand what all the jargon means.

  • sudo is kind of like "run as admin" in windows. It runs whatever command as root(admin) instead of as your user. To use it you just add sudo in front of the command. Ex. "apt-get update" becomes "sudo apt-get update"

  • apt-get is the command that controls your Ubuntu Repository. "apt-get update" basically checks for updates for everything on your computer. Then "apt-get upgrade" downloads and installs all those updates. And "apt-get install " is how you install apps that are in your distros Repository.

  • A Repository is basically an app store for your distribution. Each Linux distribution usually has their own. And they have different software(apps) available in them. If a app you want is not in your repo there are different options to install it. That was probably the hardest part for me to understand when I started. But now days the easiest option is to use snap or flatpak to install something that's not in your distros Repository.

  • As far as I understand, a package is just another way of saying app or software program. There might be a technical difference. But when you download a package you're basically just downloading the program/software/app.

  • There are also package dependencies which is the other software that is required to run the software you're trying to install. When you run "sudo apt-get install ". You will see a list of packages that will be installed. This includes all the dependency packages. Which are the packages that are needed to run the one that you're trying to install.

Some linux distribution try to give you a GUI for everything. But its definitely worth learning how to do stuff in the terminal. Once you learn it you'll realize why it is so much better than a GUI.

A “package” goes beyond library or app, basically by being part of a package management system:

  • I has a version number in a standardized format, which package managers can use to reason about dependencies
  • It declares its own dependencies, with version constraints. It will have entries like “In order to run I need a copy of jsonReader version at least 0.12.1”

I think that might be it.

Just in the same way both rice and bread come in a package at the grocery store, and both of their packaging has nutrition info, UPC barcode, and net weight printed on it. The packaging itself allows these goods to be distributed through a particular system.

The barcode is part of the packaging standard, and then the “package management” processes of retail use that barcode for their own inventory management, checkout, etc.

Your analogy makes a lot of sense. I think that knowledge will be useful. Thanks.

Oh good, you wrote basically the exact response I was going to give!

The only other thing I would mention is… if you don’t know what a command is, you can and should look it up! You can use the internet, but you can also try “man sudo” or “info sudo” and do a bit of reading. It might not make sense at first, but you’ll start building up a vocabulary really quickly.

My recommendation for learning this stuff is ChatGPT, ideally version 4

2 more...
2 more...

On Windows and Mac, you are doing a number of things implicitly that you don't realize.

When you download from their site, you are expected to verify the integrity and validity of the install file yourself. You also have to take ownership of installing any dependencies yourself.

With the instructions mulvad is providing you, you are connecting to a repo and apt does all that for you.

Some installs don't require dependencies, but some do. Long term, this style of install tends to be a lot simpler, you just have to learn it.

But more importantly and as others have stated. Linux is different. If you aren't interested in learning a new workflow, you should stick with something familiar. That's a choice you should make not because others said it but because you want it.

You can, it's up to the software vendor to make it simple.

Most of the software are FOSS and can be installed directly from your package manager. That works like the iOS app store/Android Play Store except it existed 10 years before mobile stores.

Google Chrome is an example of proprietary software (so not in distributions repos) that is as easy to install on Linux than Windows. Because Google managed to get a deb that will also update your repos.

Bottom line, most of the time it's way easier to install software on Linux than Windows (as easy as on iOS) but occasionally it's slightly more complex.

I don't understand. If I go to their site at https://mullvad.net the obvious choice to download their software is to click at 'Downloads' at the top of the page. It already autodetected I am running Linux and has me on the Linux tab.

Sure there are two download options but the first one says it works on Ubuntu and the second says it works on Fedora. You get a file you can just double click and install. Windows installation works the same way. You download a file and double click it.

You don't have to use the terminal you don't really have to know more about sudo than you need about Windows UAC, you don't have to know what a package or .deb is anymore than what a win32 executable or an Windows' .msi file is.

People giving you more complicated answers either did not check the website (because they presumed you did) or if they did they think you want more features such as auto-updating which in Windows also requires a more complex install than downloading a file and opening it.

Because it's an asinine practice from which windows is moving away through winget, and which made the open source community to write a package manager for mac from scratch -- homebrew.

And if you think about it for a second, you will realize that it doesn't exist on Android and iOS at all. E.g. 99% of users only install from a centralized repository called "appstore" and nobody is ever downloading an executable installer.

Basically, you're uninformed, and blatantly defending your uneducated way of installing software.

Homebrew is extremely insecure. It doesn't verify package signatures, so its just as bad as the "just donloaf some sketchy untrusted binary off a website" approach

2 more...
2 more...

This is not the only way to install apps but as a Linux user there will be times when you will need to use the terminal. Might as well know that from now.

The instructions they gave are really simple and straightforward. If you struggle with that, you may want to learn a bit about the terminal.

But since you're on Ubuntu there is a much easier way: go to Mullvad downloads page and download the deb file. Double click it and the Ubuntu App Store should open and install it. If not, open the App Store and search for gdebi and install it. Now right click the deb you downloaded, and click "open with..." and choose gdebi from the list.

It should check dependencies and give you an "install" button. Click that and wait for it to finish. Then simply launch Mullvad as normal.

In general on Linux you install apps by looking in the distro repo: either by searching the App Store or by using the terminal.

To do it from the terminal type:

  1. 'sudo apt update'. Enter your password.

  2. After it's updated type 'apt search [name of app] and press enter. It will give you a list of apps with that name. Eg apt search lollypop (a music player). Then if you see it listed, you know it's in the repo.

  3. To install it type 'sudo apt install lollypop' and press enter. It will tell you how large it is and if you want to install it. Type "y" and press enter. It will finish it in a few seconds.

Done. Launch the app as normal.

There is also something called Flatpak's which you can get from flathub.com You will also find instructions there on how to install flatpak on your system but typing a few commands.

Welcome to Linux. You'll either embrace and love it or abandon it.

You will have to use the terminal less often than people on Windows do

It’s a personal choice

The average Windows user doesn't know what a terminal is, let alone use it. Whereas in Linux every user knows what a terminal is and has used it at least a handful of times.

Some distros don't have an app store, just the terminal.

The average Windows user knows that command prompt exists

The average Linux user comes from Android and has no clue about terminal

Bro, I'm an IT Support Technician and Sysadmin by profession. Trust me when I tell you the average user has never seen the command line.

Move a shortcut on their desktop and they freak out because they think the pc deleted all their work. No way in hell they would touch a terminal.

I’m aware, someone asked how to download a video so i told them just paste the url in command prompt (yt-dlp) and they said it’s not worth it

But no one I know even knows how to get to CLI on Android

Yes, it is. You can achieve the same usung GUI of course, but this would be more difficult to describe because there are multiple GUIs and they change with new distro versions.

This is more convenient than "downloading and intalling" a file because you don't have to track updates manually, the package manager will do this for you. You have to read something about what package manager is and how does it work. It is the main concept of all linux distros except LFS.

As others have already pointed out, a lot of Linux software is installed from repositories in a standard way, and once you do that, it updates automatically.

However, as you've already discovered, there's more than one way to install Linux software. Repositories are still the most common way, but installing single .deb's (Debian based distributions) or .rpms (RedHat packaging format) is still there and there are more like Snap, Flatpak and Appimage. You can also often just download the source and compile it yourself. It's a very diverse ecosystem, not like the controlled worlds of WIndows and Mac.

In this case you can download the .deb file, and pretty sure you can even install it through the file manager, just like in Windows (I don't use Ubuntu, but I think it will just start GUI installation if you double-click on a .deb file).

But lot of things in Linux are still done through the terminal, like changing configurations and, yes, installing things.

Getting used to it takes a while, especially if you're not used to modern Windows administration through PowerShell.

The important part is trying to figure out what each of the commands do and that the output actually means. Software that supports Linux normally has very clear instructions (like in this case), but it does require willingness to change habits, technical curiosity and some trial and error (patience). It's not quite as polished experience as the commercial OS's. There's still a lot of rough edges for the user.

Good luck on your Linux journey!

While lvxferre's instructions are the ideal, there's a simpler option

Download the mullvad.deb file.

Doubleclick on it from your file manager and it should automatically instsll

Every time you start mullvad it will check if the version is current and prompt you (with a link to click on) to upgrade if it's not.

Note that works on mint, should work on ubuntu unless they've disabled dpkg

No, don't. Bad advise. Use repos that are provided.

You might want to say why or you'll get downvoted. Spoiler: its not safe and this is how you get malicious software on your computer

Asking why something is the way it is makes you more of a “Linux user” than many.

You make a valid criticism; there’s definitely a learning curve to installing software if you choose to do it that way (since it’s not similar to other OSs), and it’s not automatically explained to new users by using the OS.

Here’s the understanding of it I’ve come to, if you’re interested:

Like others have said, the .deb file would be the equivalent of an .exe file on Windows. Like many .exe files, unless they include an auto-updater, they won’t automatically update.

A key difference I would like to point out is that Linux package managers often update and manage parts of the OS in addition to extra software. Windows and macOS both update their OS separately.

“Ubuntu Software Center” is similar to the “Microsoft Store” on Windows and the “App Store” on macOS. Like those, it’s user friendly and provides automatic updates, but it also doesn’t have every app. You can ensure those apps are safe because the company behind the OS verifies them.

“apt-get” is the default package manager for Ubuntu. That is the tool doing the heavy lifting underneath, and what those commands Mullvad gave are for.

Mullvad could have provided a script to download and run that executes those commands for you, but then you wouldn’t know what it’s doing, especially with it needing admin permission. With how security-oriented Mullvad’s brand is, I think that’s one potential reason they explain the steps and have the user do it instead.

the .deb file would be the equivalent of an .exe file on Windows

Not .exe. If you want to find an equivalent, .msi is the closest.

You can just install wireguard from your distros built in repository. Then use the mullvad wireguard conf downloader.

One time setup, and your wireguard gets updated by your distro update. No need to add a new repository.

wireguard

This is the way. I can't be bothered to mess around with the VPN client for my VPN so I just use the Wireguard configs it auto-generates.

If you go to: https://mullvad.net/en/download/vpn/linux

And click the "download .deb" button (It says underneath "Works on Ubuntu 20.04+, Debian 11+ (64bit only)". As long as your Ubuntu is up-to-date, this will work fine)

you get a file ("MullvadVPN-2023.6_amd64.deb") you can run just like on Windows (similar to MullvadVPN-2023.6.exe)

opening the file should open a GUI for installing the file

Keep in mind, to update Mullvad VPN, you would need to download a newer .deb file (after an update is released). It shows the latest version above the download buttons, below the "Mullvad VPN for Linux text" This is the same as how it is on Windows

Edit: This is not intended as good advice, just a simple way to install Mullvad VPN. The smartest solution would be to add the repo.

2nd Edit: While this is how Mullvad provides their software, it is never ideal to install random .deb packages or add third party repos without being sure that the ones who provided the package/repo is trustworthy.

No, you don't. Bad advise. Use repos.

And please explain how using the .deb from Mullvad, is worse than using a repo (also from Mullvad) which provides you that same .deb??

Only thing I can think of is by adding the repo you get updates with your system. This makes it more secure by having patched software.

You'd be right, but this program has an auto-update mechanism anyways.

It might not be good advice, but that was not what OP asked for.

My comment was meant as a beginner-friendly way to install Mullvad VPN on Ubuntu, and not unsolicited advice telling them to learn something that should not be needed for daily computer usage. And while adding the repo might be the better solution, that would require the use of the terminal, and as multiple people have proven to me, that wouldn't be a friendly way to introduce Linux to someone just starting out.

You don't teach someone to swim, by dropping them in the middle of the pacific.

Many, perhaps even most, installation guides for software use commands because the graphical alternatives can vary wildly between desktops and distributions. So using commands in guides is usually the more likely to work.

That said, what Mullvad does is stupid. The downloadable deb and rpm files should just initialize the update repository. That is what Google does with their Chrome download. Basically download the file, double click on it, confirm installation. That's it. Users don't need to do that manually for Chrome.

Luckily, there are only a few cases remain for this type of installation. Most regular things should be either in your distribution's regular repository or on Flathub.

Download the .deb from their downloads page and run it, just like you would either a .exe on Windows. Their instructions list that as an option further down on the page. Should be higher up imo

They probably lowered it became mullvad is a security company and downlaoing .deb files from the Internet ia a vector for attack

Normally you'd just run sudo apt install ... but in this case you are adding a new repository so you have to follow the extra steps of adding the signing key and so on first.

What distro are you running? I think you should be able to just find the app in the app store.

If not, the webside includes the download link literally in the first paragraph: https://mullvad.net/en/download/vpn/linux

Just download and double click the package, that should bring up your app store, and then click install you will be fine.

You can achieve this through graphical utilities.

Self-updating apps aren't a big thing on Linux, so the Windows way isn't an option...

The signing key is important for security reasons, so you definitely need to add that. After adding the repo you can just use Synaptic or whatever app store thingy Ubuntu uses.

Most of the time you shouldn't need to fiddle with the command line and the apps you will need are available through the Software Centre and the entire process will work like on Windows.

For me, Linux was the first operating system I used that had an app store or software centre and I was pretty glad to not need to...

  • open a browser,
  • navigate to a site,
  • (hope it is the right site...)
  • download a binary executable,
  • open a file explorer,
  • launch the binary,
  • click through a list of options and agreements,
  • and finally delete the binary.

Can’t I just download a file and install it?

Yes, there are instructions on the page for that, the section is titled 'Installing the app without the Mullvad repository'

As a side note, dealing with adding repos and keys and all that is something I will never miss from apt. I use Arch and installing things is usually as simple as.. well let me check.

$ yay mullvad
...
2 aur/mullvad-vpn-bin 2023.6-1 (+86 1.36) 
    The Mullvad VPN client app for desktop
1 aur/mullvad-vpn 2023.6-1 (+126 2.10) 
    The Mullvad VPN client app for desktop
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
==> _

And it's option 1. So easy. Type 1 and press enter and you're done.

I find having these options confusing and I am not a newb

Both options will install the Mullvad client from the AUR. (If you use an arch derivative, that already tells you some things. If you don't, then you are missing some context.) The first option will install from binary, the second will compile from source. Which you choose is up to you.

If you blindly chose one over the other because you didn't know, worst case you end up being impatient if it takes awhile to compile from source.

No, worst case you install actual malware. Anyone can upload to the AUR, not just trusted users.

Usually the *-bin version just means it downloads the already compiled binaries instead of compiling the program on your computer.

You should also always check the PKGBUILD for something suspicious. AUR packages are put there by users, and are not verified.

Hello new Linux user! So yes, your correct when installing apps on Linux sometimes you might need to do it via command line other times you'll get a nice install file you can double click. It's really down too the software manufacturers on how they choose to package it.

In general with Linux you'll find there's still a lot of command line usage compared to Windows or osx. On those platforms for most users they would barely touch a terminal except in some kind of bug fixing emergency.

Some distros come with their own app store built in (like the windows or osx app store) and allow you to install a bunch of apps via the gui.

What version of Linux did you go for out of interest? Some are much more beginner and use friendly than others.

I'm on Ubuntu 23.10 (I think)

There indeed is an app store from where I installed few apps before. I need to check if they have Mullvad there. I do much prefer installing apps thru a GUI. While I know how to follow instructions and copy & paste these commands into terminal, it's frustrating as I have no idea what any of these does. I might just aswell be unknowingly installing a keylogger or something.

That is a good mindset and you should hold on to it. Of course a gui can install a keylogger for you just as easily if not more so.

Trusted install sources, usually called repositories, are the way. Chances of malware exist, but they would require some spectacular shenanigans or conspiracies to set up.

I'd say learn the commands, but another way is to copy paste them into chatGPT, it'll tell you what the command does.

With a GUI you also don't know what it does. Its the same situation, you just click a button that runs the code instead of copying and pasting the code in the terminal. (And I would say the latter is safer because it is more transparent (for those who want to figure it out)).

I have no idea what any of these does. I might just aswell be unknowingly installing a keylogger or something.

This actually applies to windows GUI installers just the same. You really don't know what you're installing either, although you do usually give it administrator permission to make changes to the system. In some way it's even worse, it's "running commands" and hiding it from you.

Also note that Mullvad has a pretty technical user base and target audience, and thus their documentation is likely geared towards them. You could also consider using Mozilla VPN, which offers pretty much the same advantages (they use Mullvad's servers), at the same price if you pay annually, and is easier to use.

Oh actually, looking at the Ubuntu installation docs, that doesn't really seem to be much easier - that's a disappointment :/

Although if you don't mind running one terminal command (specifically, sudo add-apt-repository ppa:mozillacorp/mozillavpn), I think after that you should just be able to use the Ubuntu App Center to install software - which usually is the way to install software in Ubuntu, and works similar to app stores on phones.

it's just a fuckin step by step guide on how to add their repo to the sources.list

What's so technical about it? It's how you install everything on Ubuntu.

No knowing how apt works, is equivalent to not understanding why grandma_pics.zip.exe is probably a virus. If you're that uninformed, we can't help you.

I think if you read through this you have pretty much everything you asked about. As for understanding what these sorts of commands do in the future I think ChatGPT is actually really useful for stuff like this with good documentation. Just ask what the commands do and it is usually quite helpful. Someone already said it but you have to want to learn this. If you want something easy to use and you don’t have to learn buy a Mac, you want great software compatibility buy a windows pc. If you want something that is more private and a community effort use Linux but unless you are using steam os on a steam deck it is not even close to being as user friendly as the others. I hope this changes but the current goals and mindsets of people in this community will prevent Linux from becoming easy to use and in the case of steam os you just need lots of money to make it an easy experience. There are a million other reasons that Linux’s current state is this way but this is the gist.

ChatGPT is garbage in garbage out. It'll probably tell you to curl a file off the internet and pipe it to bash as root.

I’m just suggesting he ask ChatGPT to explain what commands he copied off the internet do. I don’t suggest asking it for commands

To translate the second sentence for OP: it'll probably tell you to run a command to download a sus file and immediately run it as admin.

I made this thread because I try to learn/understand

I have a Macbook, it's what I use the most. I used to have Win7 on my gaming rig but Steam dropped their support for it so my options was either to go with a newer Windows or try Linux. As all of the games I play seemed to work on Linux with just minor tweaks I thought I'd give it a try. So far I'm really happy with how to OS works once it's set up but it's the setting up part that's really confusing to me.

If you want something easy to use and you don’t have to learn buy a Mac, you want great software compatibility buy a windows pc.

That is very bad advice, as that may well not be a solution. There are people who want to use their computers without the ads, data mining and forced program defaults windows is doing.

That's true that if people switch OS, they'll need to learn a lot of new things. But don't forget that not only sysadmins and adventurous people use Linux.

That being said, there are distros that give you a decent GUI frontend to the package manager, for example openSUSE

Well what you said is true but this depends on the person you are recommending it. I didn’t know the op and generally can’t determine how interested they are in computers. I have friends who are just so use to their current understanding of using a computer with windows they wouldn’t be willing to learn anything else at all. They didn’t find yast easy to use because yes you have a gui for installing things but they don’t know all the things they need to install and it isn’t the most simplistic gui. Again you aren’t wrong it’s just that I’m hesitant to recommend people to use it unless they want the benefits of using Linux and are willing to learn.

People here saying you can just download and run the .deb just like the .exe

Aren't you forgetting the "add +x permission" step?

I'm pretty sure if you double click a .deb it opens in Discover (or whatever the app store thing is called) and from there you can install it.

Whatever it's called will depend upon whichever one you choose to use. There are options even there.

A deb file will "run" in the package manager process space, it doesn't need to be executable on its own

Not specific to Mullvad, but you can use flatpak or your distro's package manager (probably apt) to install programs, On Ubuntu, you can open the software program and search the programs to install it, that should be the first thing to do when you want to install something rather than going to the website.

my tactic if the site looks trustworthy is always:

  • find the explanation for the distribution I use
  • ignore literally all the text
  • just copy paste and execute everything that looks like a command in order in the terminal works like 8/10 times

sudo synaptic for a graphical package manager.

Otherwise, just use sudo apt-get if the program you want isn't there, you may need to download the source and compile it yourself

Are you suggesting to a new user to build from source when he can't run a couple of commands?

They asked how to do it, I wanted to make sure that they knew that an application not existing in the repo doesn't mean the application isn't actually available.

Or just download a binary if the program offers one

How do you ensure you have the right dependencies if you do that?

usually it's an appimage, i mistakenly said binary. although there are programs that offer ELF binaries, in that case you can try running it. if it doesn't run, check the list of runtime dependencies for the program and install what is necessary using your package manager.

AFAIK, most distros will also have a package manager/software center where you install flatpaks (or snaps if you are on ubuntu). Think of flatpaks akin to mobile apps where everything needed is all together in one package. Not all apps will be flatpaked though, and VPNs tend to be nearly always direct binaries due to needing some higher level permissions than what flatpaks will allow.

Essentially, what im saying is no, not all apps need to be manually installed, but some might need to for one reason or another. And sometimes, knowing a little about how some of these apps are installed might actually help you understand linux a little more (it has in my case)

Open the terminal and copy and paste the commands found in their install guide for Ubuntu:

# Download signing key&nbsp;
sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc

# Add the stable repository
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

# Install&nbsp;
sudo apt update
sudo apt install mullvad-vpn

More or less: yes.

It's copy and pasting 5 lines into the terminal and hitting enter. It's not that hard. If it's not worth the 15 seconds of 'work' you probably don't need the software that badly.

And it's not the default. Usually you shouldn't add random software sources and download software from some websites. Your Linux package manager should be the source for software. (Software Manager / Store / Synaptics, ... whatever Ubuntu calls it) It installs software with one or two clicks with the mouse, the software there is tested and tied into the rest of the systems and tens of thousands of packages are available. No malware guaranteed, and updates are handled automatically.

And with other Operating systems it's also ridiculous: You need to find the website of some software, avoid malware and copycats that advertise similar software with ads, click download, click 'yes' I accept a download with a harmful extension. Then you need to open the file manager and double click on it. Then a window opens and you need to click 'next'. Accept the terms. Give permission to install and maybe remove a few ticks and choose a location. I'd say it's about the same amount of work and the downside is it doesn't necessarily handle updates and security fixes.

I think Ubuntu doesn't have Mullvad available in their own repository. I took another approach and imported their settings/profile into the VPN/network manager that is available per default on many Linux distributions. No install required at all. But importing the settings isn't easier, so YMMV here. And I think you have to create a profile for each and every country/endpoint which is a bit cumbersome, depending on what you're trying to do with the VPN.

It’s copy and pasting 5 lines into the terminal and hitting enter. It’s not that hard. If it’s not worth the 15 seconds of ‘work’ you probably don’t need the software that badly.

Telling people to just run random code they found on the internet and don't understand is really bad advice.

That statement is certainly true.

But how do you think you install software on Windows? You download a random installer from the internet and double-click it. The installer is an executable file and runs some code on your computer to set up the software. I'd argue it's exactly the same.

In the one instance you copy and paste code and run it. In the other instance you execute an installer that also contains the random code. And you can't even have a look what happens.

The real issue is: You have to trust the vendor. If you don't trust Mullvad, don't run their 5 lines of code. But you then also shouldn't install their software and not run their windows installer. I don't see a way around this 'trust' issue.

The proper way of course would be a standardised process that also confines the software into containers with minimal permissions. Something like Android Apps. In theory you could add a default update process so the vendor just needs to define an update server in the (apk) installer file. Google didn't do this, but they want people to use their Play Store. And I don't think we have a permission system that is actively used on any of the major desktop operating systems, anyways.

I know you're on ubuntu, but installing programs depends on your distribution. Some programs are in your software library, some aren't. But there will always be a way to get the program. For instance, I use Gentoo and Mullvad. The way I set it up is with Wireguard so I control it through the terminal, this is because Gentoo has no mullvad app. Otherwise, you can often add new libraries to your system. Again, on Gentoo Steam is not in my repository by default. So, I added the steam repository to my system so I could get it. For Mullvad, I'm pretty sure they offer a deb package, which Ubuntu can use. Otherwise, some other distributions offer a mullvad app in their repository by default. Try other distributions and see what clicks. A lot of linux is experimentation. I personally prefer doing a lot of things fairly manully, so I use Gentoo with essentially only a terminal for control. Linux Mint, Devian, Arch, Void, Nix, Gentoo; there's tons of choices so there's going to be something that you click with.

If Mullvad is not available as a Snap or Flatpak (2 ways of installing self-sufficient auto-updateable packages without dependencies on other packages) then youre probably stuck with either adding this 3rd party repository (something which isn't always recommendable either) which gives you automatic updates or using a .deb installation file like you would probably prefer and then manually retrieving updates when needed.

Anyways, others have told you as much already anyways. What I'd like to add is that it is definitely worth it to learn to work the terminal. I get that there are many people looking for an alternative to Windows or just an open approach to computing in general without looking for added complexity. Who wants complexity right? Whether such an experience exists in the Linux world is probably subjective. Ubuntu has definitely been a safe bet for the flattest learning curve required since its inception in 2004. But its still a niche thing that won't experience user-friendly support from everyone (ie Mullvad).

So one could conclude that in order to truly be "free" (as in Free Software freedom) one needs to claim that freedom. You will fuck things up. You will learn from your mistakes. You will regroup and you will grow as a user and dare I say PC-curious person.

That is simple. About as simple as it gets. The more complex method involves figuring out what VPN software Mullvad really uses, figuring out your keying material, fighting with NetworkManager...

tl;dr - Follow the directions.

Simple ≠ intuitive

For better or for worse, the widespread methods are not at all similar to the methods sometimes used in Linux. It's just a fact that most people are accustomed to different ways

Yes and with good reason. To prevent people like yourself from downloading and running malware.

Horseshit. Why do people endlessly promote Linux only to turn around and express smugness, gatekeeping, and hostility to new users?

You're not even correct. The Everything as a file philosophy isn't an antivirus program. Like it's impossible to get malware by blindly pasting script into a terminal.

This attitude is a bigger obstacle to adoption than games compatibility.

  1. Am not promoting Linux, I don't know where you got that idea from.
  2. How is it hostility when am letting OP know that's exactly what's included in the package when he chose Linux? And that unlike Windows where you install downloaded files as programs, things work differently over here?
  3. You can install malware by blindly copypasting commands on any terminal, the OS doesn't matter.

Because you chose to phrase it as an insult. "To keep people like you from doing X" has a very different connotation than "this is a security feature that helps protect inexperienced users from malware." One is helpful, one is demeaning.

You are reading too much into the comment.

Because that's your typical neck beard Linux douchebag. Linux is not intuitive, it runs well, but it's not intuitive at all for new users.

It's often not intuitive for *Windows users.

Even then, most of the time it actually is.

Is malware specifically a problem on Linux then?

Specifically, no. Far less malware on Linux. But it's still a computer system that can execute code.

It's a problem anywhere, centralised software repositories help combat it to a degree.

Yes, much of the web is hosted on Linux servers, and only growing as more and more people start playing around with self hosting projects.

Malware sadly is a problem everywhere, but it is arguably less so on Linux. First, Linux is less popular so less malware is written for it to some degree. That doesn't mean no malware, but if you're trying to pwn people hitting a website you'll get more targetting windows, android, or iOS than Linux so it's a little less prevalent.

Second, it could be argued the security model of Linux is more secure than windows. This is a far more contentious point, but I think that simply from having more eyes on the code Linux has a more secure model. Windows relies on security through obscurity a great deal, and if you talk to cybersecurity experts they will often tell you this is no security at all.

Lastly, because software on Linux is typically installed through centralized repositories of binaries or sandboxed app images, you have to go more out of your way to get dodgy software on Linux. The tradeoff there is that a lot of proprietary apps and helper programs that come with some tech will never be available in the repos and that can send some new users to try finding them elsewhere with all the risks that entails. Some distros go for a middle ground with access to things like the Arch User Repositories, but Ubuntu's solution is using things like PPA's to add extra software repositories.

My advice is get zorin or popos and see if there is installer in their software store. I am a new user like you are well and this sense to be common, i resroted to keep it on old laptop ,as server so in install and thin necessary things and then dinner user it at all. Linux Community on Lemmy is humbug, they will downvote as soon as you say Linux is not for regular person

Yeah no, generally you just copypaste the software website's instructions. Many programs can be installed through the app store (or equivalent install commands) but a lot of aoftware you just gotta copypaste the code. Many also just provide an inataller.
The meme about linux software being much easier to install is true in some cases, but mostly bullshit. even if its just sudo apt install vlc you generally still want to check the website to make sure its the best way, or you end ip with an out of date version.

Updating software on linux is better pretty much automatic without annoying popups most of the time though.

This was terrifying to read 😨

Yeah, well, linux is great, but people seem to rarely give the full disclaimer. So people end up disappointed, go back to windows and end up thinking you need to be hackerman to be able to use it. Or they do end up learning everything, think they're hackerman and tell everyone in the world how linux is just sooo much better and easier because theyve been using it since 1969 or whatever.

My view: Your grandma could comfortably work on linux. It's when you need stuff beyond the most basic aoftware that there's a much steeper learning curve than windows. You fuck up, your system implodes. Once you're balls deep into computers, lets say software development, linux becomes easier and more useful again. Its that middle group of average users who have the hardest time.

This post is proof that Linux desktop isn’t as good, perfect and polished as everyone says it is. Stop living in the delusion.

Do you even use Linux?

Yes and I do and while it is great for infrastructure, magnitudes better than anything Microsoft ever offered as a reasonable desktop it's a fucking a joke.

You're deluded if you think that "everybody" let alone a large minority of people say that the Linux desktop is "good, perfect and polished".

Change your distribution to MX Linux and use MX Package Installer there. Select Mullvad VPN from "Popular Apps" tab there and MXPI will do all these steps for you.

Probably easier to learn a few commands than it is to switch distros though.

That's what I hated as a beginner on debian/ubuntu as well. On fedora it's straight forward. Adding repo and then isntalling the app.

Lolwhat? It is the same in any distro: adding the repo and installing the app.

Yeah, the only odd thing is installing the signing key, but it’s there for a good reason.

That said, it’s not a great user experience, especially if you start stacking a lot of ppa’s.

It's not like that on NixOS

There's no adding repos, you just put mullvad-vpn in your system packages list

It's the same on Debian, so I'm not sure what you mean?

Yeah, how Ubuntu is supposed to be noob friendly and continues to be recommended blows my mind. Seems like every stupid app you want to install needs you to add a ppa that is almost guaranteed to break on the next major update. And ugh snaps ...

Believe or not many people who know little Linux world always believe Ubuntu is the de-facto Linux itself.