linux

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

Ramin_HAL9001, in "Must Try" distros and DEs?

Must try distros: Fedora, Mint, Void. But seriously, if you are using Nix to begin with, why use anything else? Nix is as good as it gets. If you really want to do a combo, I would recommend Fedora or Mint using Nix as just the package manager and not the hypervisor. All distros are basically the same nowadays.

Must try desktop environments: Xfce, Cinnamon, Gnome, KDE Plasma

nickwitha_k, (edited )

I’ve never really Fedora or Void. Will definitely try those.

Of your DEs, I think KDE is the only one that I’ve not used significantly. I need to fix that. I think MATE deserves a place there too.

ETA: As for why not just Nix or Nix as a package manager? I’ve become accustomed to being in VMs all of the time and really like the way that doing so impacts how I interact with a system and extra capabilities provided.

dis_honestfamiliar,

Try those but also wanted to say enlightenment. I don’t even know if it still exists. If it does, give a try.

Pacmanlives,

Why do you say Nix is good as it gets? I am an old graybeard mostly( SuSe, Debian and FreeBSD)

Ramin_HAL9001, (edited )

In short: Nix tracks all installable software and dependencies using a Merkel tree data structure to ensure fully reproducible builds of software. This Merkel tree also provides properties similar to that of a C.O.W. filesystem where you can snapshot and rollback system software build configurations in O(1) time, it just rewrites a fixed number of symbolic links to the root of the desired Merkel tree. In my opinion, it is the most technologically advanced package manager currently in existence.

Every input that goes into building a piece of software on Nix OS (or in the Nix package manager in general) is hashed and placed into a database on the system. These hash IDs become dependencies for everything they are used to build. By tracing the chain of hash IDs you can guarantee that every single bit that goes into the build of the system software is accounted for. If two separate computers with the same ISA are running the same tree of packages verifiable by their hash IDs, you are guaranteed that both computers are running the exact same software. All dynamic libraries, shared libraries, executable files, and even the config files in the package database refer only to other files in the database.

When you use Nix OS, not just the package manager, the C compiler, boot loader, and kernel are themselves build inputs. You can even roll back to a snapshot of a working system from the bootloader menu if you accidentally break your system (as long as the package database is not corrupted).

Finally, the system itself is both built and configured using a declarative programming language. So you install software by declaring that it should exist, and the package manager computes precisely which dependencies must be installed to realize what it is you have declared in the system configuration files. Making a change to what is installed requires simply altering the lines of code in the system configuration file. You can also use these configuration files to easily construct Docker images or Flatpacks.

pelotron, in Which terminal emulator do you use?
@pelotron@midwest.social avatar

I don’t know the difference between a terminal and a terminal emulator, and at this point I’m too afraid to ask.

Lately using Foot since that’s what my distro shipped with.

squid_slime,
@squid_slime@lemmy.world avatar

What’s your DE?

pelotron,
@pelotron@midwest.social avatar

Hyprland

aes,

A terminal is the thing that looks like it might be a computer, but nobody is home, it’s just connected to a modem. Or, maybe, if you’re lucky, The Computer of your university.

A terminal emulator is, well, an emulator, so you can use a 1970’s shell, right there on your computer, just like you can emulate and play Pong or Space Invaders…

Hope that helps

GenderNeutralBro,

Realistically, no difference.

They are called emulators because “Terminal” used to mean a full-screen text interface to a mainframe. The functionality has carried on, which is why terminals behave pretty much the same on any platform. You don’t use your system’s regular text fields in a terminal emulator, for example.

BOFH666, in What are some interesting devices powered by Linux?

Cars. Either entertainment system or navigation or more…

BMW has quite the list of licences for opensource libraries and Linux in the about section of the car-menu.

And more and more network equipment.

Dirk,
@Dirk@lemmy.ml avatar

So we can download the sources?

ozymandias117,

BMW requires you to go the written notice path and they send you a DVD with the sources

NuclearDolphin,

is this a joke? please tell me this is a joke

semperverus,
@semperverus@lemmy.world avatar

Its one of the oldest ways people disribute linux sources, and while it seems dumb, its actually good because regions with poor or no internet can also be served.

NuclearDolphin,

Poor global south nations graciously appreciating the source code for their BMWs. This seems closer to malicious compliance.

ozymandias117, (edited )

It’s not super horrible, and they’re meeting the requirements for GPLv2

I’d rather a git repo with history that can be cloned with physical media as a backup option

If you’re looking for a real bad one, Qualcomm has been trying to claim that their devicetree, which is equivalent to ACPI, and 100% necessary to boot anything is somehow “proprietary”

NuclearDolphin,

Yuck. I wish Qualcomm a very get fucked by RISC-V.

geekworking, in Can I pre-install Ubuntu on an SSD?

You don’t need any internet connection to install Ubuntu. Just use the normal install, not minimal network installer. Install from a USB stick.

Also, there’s no requirement for a wire either. If that were the case, you could never install on any modern laptop.

You would need some sort of functioning network to upgrade packages or install anything not in the base image, but this would all be after installation when you have a working OS and wired or wireless won’t matter.

Hazmatastic,

Ah okay. I just remember hearing that all your drivers need to be manually installed and updated in Linux, so for me that included ALL drivers, even basic ones like that. If I can get started wirelessly that would be perfect. Thanks!

Nibodhika,

It’s almost completely the opposite, drivers are (almost completely) a windows problem. If you’re willing and able to go the open source route, which for most people mean “I don’t have an NVIDIA card or don’t plan on getting every ounce of performance from it” you don’t need to worry about drivers at all (bar some weird cards, but they’re getting rarer and rarer, I don’t remember the last time I had to install a driver that wasn’t NVIDIA).

Hazmatastic,

Good to know I should avoid NVIDIA for Linux. The only NVIDIA card I have is on my gaming rig, so I don’t plan on having to deal with that since I’m sticking with Windows on that until (hopefully) more studios start caring about Linux compatibility. Can’t wait to cut that Microsoft umbilical cord permanently.

That said, do I need dedicated graphics on a Plex server? I was going to go integrated, but your comment made me realize I never checked hardware requirements. Which are probably on Plex’s website. Which I am now going to go check because Lemmy isn’t Google and it’s not your responsibility to hand me answers I can easily find.

Nope, not gonna be that guy today. Thanks lol

fauntleroy,

Just to avoid any misunderstandings for the furture: you can run NVIDIA cards in ubuntu, you just have to install their proprietary driver. And on ubuntu, its pretty easy to do so. I used a few different nvidia cards on Ubuntu in the last years and never experienced any issues after installing the recommended driver. Before installing the driver, I got some flickering and artifacts, but with the right driver everything should be fine. And even for amd graphics you can install the proprietary drivers from their website to get out the maximum performance of the GPU. But for amd you can also use the “pre-installed” open-source driver, which has a much better performance in comparison to the open source driver for nvidia cards. Integrated grahipcs are supported out of the box in almost any cases.

geekworking,

Even Nvidia video works out of the box without any additional drivers.

The thing with Nvidia is that although the default drivers work, they are more generic and don’t take advantage of all of the features and performance of recent cards. Most people would want to load the proprietary drivers from Nvidia to take full advantage of the card.

Linux would normally include the better drivers, but Nvidia keeps them under a software license that prevents Linux distributions from bundling them.

Even with this, Ubuntu includes a tool that will download and install these drivers that they can’t

Nibodhika,

I think I wasn’t clear, for NVIDIAs you need to take some action, on some distros is ticking one box during installation, on others is installing the driver afterwards, but they work, all of my current computers are NVIDIA. Even without installing the proprietary drivers NVIDIA cards work fine for 90% of things, the problem is that gaming will have less performance and you wouldn’t be able use CUDA.

I know you’re googling it, but in any case AFAIK Plex can run on integrated cards, most cards can decode video nowadays so it shouldn’t be particularly hard. If you’re looking into using Plex I recommend checking Jellyfin, it’s an open source alternative, I’ve been using it for years and have nothing to complain about.

gianmarco, in Some of y'all need to see this and drop the superiority complex...

Fedora 39 anyone?

13617,

Shit takes like 30 minutes to update 😭😭

QuentinCallaghan, (edited ) in When Windows 10 dies, I am going to jump ship over to Linux. Which version would you recommend for someone with zero prior experience with Linux? **Edit: Linux Mint it shall be.**
@QuentinCallaghan@sopuli.xyz avatar

Pop OS, it’s just brilliant.

Hadriscus,

What about the fact that it’s based on Ubuntu, can you still install programs packaged as flatpaks ?

model_tar_gz,

Pop!_OS uses flatpaks, not snaps. It’s a good thing.

Hadriscus,

oh nice !

datavoid, in What's your current favorite distro that isn't Arch, Debian or Fedora?

I discovered this on Lemmy, clearly there is no going back

hannahmontana.sourceforge.net

twei,

Wait until you hear about biebian

Subverb, in Microsoft says a Copilot key is coming to keyboards on Windows PCs starting this month

I’m happy as a clam with my 1984 loud as fuck IBM Model M keyboard in Windows.

Think you need a Windows key? CTRL-ESC. I use CTRL-ESC even on modern keyboards.

possiblylinux127,

That’s a pretty cool keyboard

Subverb,

I bought mine here but there are other places that restore them.

lemonuri,

Best keyboard ever, will also last forever.

I use capslock as superkey.

Subverb,

I actually use caps lock fairly regularly as a embedded systems programmer. With my large hands CTRL-ESC is pretty easy for me.

Showroom7561, in Microsoft says a Copilot key is coming to keyboards on Windows PCs starting this month

Is copilot another windows app I’ll need to uninstall? Thanks for the heads up!

phoenixz,

It should be the reason to switch to Linux, finally, again.

nameisnotimportant, in What's your favorite music player on Linux?
@nameisnotimportant@lemmy.ml avatar

I tried several and I very much appreciate Quod Libet

That said I’m interested in trying others’ suggestions 👌

TheEntity, in What's your favorite music player on Linux?

MPD + ncmpcpp, I hate both and I'm yet to find anything better.

ozymandias117,

mpd is the best music player on any system

I’ve started using Cantata as a graphical front end, though

ElderWendigo,

I feel this. If you could right click to interact with the text objects, then this combo would basically feel like foobar2000 for linux. I’m old enough to have missed how great foobar2000 felt after WinAmp started to get bloated (back before I got my hands on some Linux ISOs), so MPD + ncmpcpp just felt so refreshingly stripped down and a little nostalgic. I just fucking hate having to memorize a bunch of non-intuitive hotkey combos to do anything. Probably the same reason I’ve never bothered to properly learn Vim.

dan, (edited )
@dan@upvote.au avatar

When I’m using Windows, I still use foobar2000 for listening to radio streams.

TheEntity,

I'm an Emacs graybeard, so complex keybindings don't scare me. My problem with ncmpcpp is twofold:

  1. It relies on MPD which is always a PITA to properly configure. Pulseaudio always managed to make it not work on a fresh system. Hopefully with Pipewire it'll be better.
  2. The config format make no sense whatsoever. Especially the one with keybindings. It's so cryptic I just stopped trying to understand it. Again, I'm an Emacs graybeard, to stress it as a point of reference.
tal,
@tal@lemmy.today avatar

MPD + ncmpcpp, I hate both and I’m yet to find anything better.

I’m an Emacs graybeard

Emacs does have a music player, emms, which is what I use.

TheEntity,

I'm aware but thank you. I've tried it before and didn't like it. Maybe I'll give it another shot, though I don't see much benefit in tying my music player to Emacs.

chtk, in What's the best way to have a .bashrc that I can use throughout systems?
@chtk@feddit.nl avatar

You’ll want to look into a category of programs called dotfiles managers. There’s a bunch of them. Most of them are based on some kind of version control system, usually git.

I personally use yadm

gary_host_laptop,
@gary_host_laptop@lemmy.ml avatar

I think I maybe phrased it horribly, my question was more like, what do I need to learn in order to modify myself the .bashrc by myself instead of using a programme. Does it make sense?

OpenStars,
@OpenStars@discuss.online avatar

Bash syntax - I recommend Unix Power Tools by O’Reilly, but it is more advanced so maybe start with a basic version. People look at me funny whenever I say this, but I started myself with something like Unix for Dummies. Why not!?

Keep in mind that this is no trivial task: bash is basically a programming language unto itself - it even has conditionals, loops, variables, etc. Yet SO worth it if you use Unix and want to know more what it is doing.

You also should have a basic familiarity with Unix foundationals as well, to know why something such as this is very dangerous:

export PATH=“~/bin/:$PATH”

So, the easy way would be to just take the nice file, copy it wherever you want, and leave it at that. The hard way of actually understanding it may require a deeper dive into Unix. Unix Power Tools, with the picture of a drill on the cover, or maybe someone will recommend a better option but that’s what comes to my mind.

Have fun!:-)

dream_weasel,

So you can do what you like, but if you are going down the road of shell customization, I recommend you first consider if bash is the shell you want to keep by googling around and reading some articles.

I personally use ZSH (and I cannibalized ohmyzsh for the few configs I wanted instead of taking the whole giant bastard of a thing) but fsh is a fine choice if you don’t care about posix (a different discussion). There are some other options to consider as well, but if you’re gonna configure, don’t do it then do it again in a month with different syntax lol.

gary_host_laptop,
@gary_host_laptop@lemmy.ml avatar

Yeah, recently after posting this I went down a rabbit hole and found out about zsh and fish and I kind of like fish so I’m thinking about going straight to that, what a hard choice.

dream_weasel,

It’s a deep rabbit hole lol.

Elw,

This sounds really similar to how I do things but I use Ansible. What are the advantages to something like yadm, that is specifically designed for dot file management, and a generic config management utility like Ansible?

d3Xt3r, (edited )

I’ve only started using yadm recently so I may not be able to elaborate in detail, but for me the main draw for using yadm (as opposed to Ansible, which I use at work) is the simplicity. It’s basically just a bash script that uses git, so there’s no dependencies besides git and tools installed on most Unix systems. Ansible felt like overkill for what I needed, ie just something to manage and sync my dotfiles.

Also, maybe it’s personal bias, but I really hate installing/using Python-based programs - they often tend to go wild with their dependencies and eventually break. I recall trying to install Ansible on a Raspberry Pi at some point (via pip) and it failed because one of the dependencies couldn’t be compiled for whatever reason. I gave up after trying to fix it for a while, and dropped the idea. I’ve had similar experiences with other large Python projects, there’s always some drama. Why is why I prefer compiled binaries or simple shell scripts like yadm.

I’ve no issues using Ansible at work though. We use it on RHEL so it’s quite stable and doesn’t have the dependency issues you’d get on a bleeding-edge, ever-changing, end-user system. Plus it really shines at the Infrastructure as Code stuff so we use it to automate everything from networking gear to VMs. But I feel it’s overkill for something as simple as syncing a bunch of text files.

Dirk, (edited )
@Dirk@lemmy.ml avatar

I personally use yadm

I just use some code and Git.


<span style="color:#323232;">if [ ! -z "$PS1" ]; then
</span><span style="color:#323232;">    repo="${XDG_CONFIG_HOME}/dotfiles/"
</span><span style="color:#323232;">    br='origin/main'
</span><span style="color:#323232;">
</span><span style="color:#323232;">    title="e[1me[31mn ░▒▓e[7m    %s    e[27m▓▒░e[0mnn%snn"
</span><span style="color:#323232;">    status="$(git --git-dir="$repo" --work-tree="$HOME" status -s)"
</span><span style="color:#323232;">    diff=$(git --git-dir="$repo" --work-tree="$HOME" diff --stat --cached $br)
</span><span style="color:#323232;">
</span><span style="color:#323232;">    [ -n "$status" ] && printf "$title" "Uncommited changes!" "$status"
</span><span style="color:#323232;">    [ -n "$diff" ] && printf "$title" "Not yet pushed commits!" "$diff"
</span><span style="color:#323232;">
</span><span style="color:#323232;">    unset title status diff br
</span><span style="color:#323232;">    alias dotfiles="/usr/bin/git --git-dir=$repo --work-tree=$HOME"
</span><span style="color:#323232;">fi
</span>

The code runs when it’s an interactive shell with a PS1 prompt and just checks if any of the tracked files have changed or if there are commits that are not pushed. By configuration I ignore all untracked files. If something has changed or wasn’t pushed it always prints an annoying message.

Whenever I want to do something I use dotfiles … instead of git …, everything else works the same.

beejjorgensen,
@beejjorgensen@lemmy.sdf.org avatar

This is the fun way. I have a ton of configuration files in git and I symlink to them from various places with an install script. And zshrc has enough brains to determine the OS it’s running under and the hostname. Between those two, I can have it do all the Right Things no matter what system it’s on. So far, it deploys to my personal Mac, my work Mac, my personal Linux box, my SDF account, and my Android phone with tmux.

Basically I clone the repo into .local/share/beejsys and then run the install script and everything just works. And I don’t typically have to rerun the install script after a pull.

amzd,

Do I understand correctly you use the install script for files outside home dir? If so could you share this as I’m running into that issue.

beejjorgensen,
@beejjorgensen@lemmy.sdf.org avatar

No, they’re inside my home directory, alas.

iusearchbtw, in New Linux user here. Is this really how I'm supposed to install apps on Linux?
@iusearchbtw@lemmy.sdf.org avatar

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: github.com/mullvad/mullvadvpn-app/releases

Critical_Insight,

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.

bizdelnick,

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.

Critical_Insight,

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

bizdelnick,

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

southsamurai,
@southsamurai@sh.itjust.works avatar

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.

Fecundpossum,

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.

giloronfoo,

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.

be_excellent_to_each_other,
@be_excellent_to_each_other@kbin.social avatar

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.

Nibodhika,

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

pmk,

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.

Chobbes,

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.

Critical_Insight,

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.

Unmapped, (edited )

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 <app/package name>” 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 <package name>”. 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.

intensely_human,

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.

Unmapped,

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

intensely_human,

I realized there’s quite a bit more metadata that a package provides to its package management system. Here’s an example package definition, in the programming language Ruby: github.com/thoughtbot/…/factory_bot.gemspec

It defines, among other things:

  • author
  • license
  • dependencies
  • version
  • name
  • description
  • link to project webpage
Chobbes,

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.

intensely_human,

It never hurts to start with help man

intensely_human,

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

where_am_i, (edited )

for ffs, please, ban this troll.

And if you’re a real human, I have a recommendation: buy a dictionary. Once you can read simple words, move to coffee maker manuals. From there to children’s books. And so, maybe one day, you will be able to figure out how to read a basic “getting started with ubuntu” article or something. You just switched to a complete different operating system and act so entitled as in “where is the start menu, this OS is so confusing”.

The Linux community isn’t toxic, it’s the average non-linux user being as dumb as rock. And on top of that is also lazy.

Critical_Insight,

You seem nice

erwan,

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.

risencode, (edited )

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.

freeman,

I don’t understand. If I go to their site at 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.

where_am_i, (edited )

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.

library_napper,
@library_napper@monyet.cc avatar

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

iusearchbtw,
@iusearchbtw@lemmy.sdf.org avatar

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.

ursakhiin,

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.

mvirts, in Is DNS Bloat too?

Lol … DNS is one of the pillars upon which the internets tands, a crumbling mess of a pillar but I’m sure glad we don’t have a name system built on hosts files 😹

ComeHereOrIHookYou, in Does Wayland really break everything? (Nate Graham's OG post ref'd in the Phoronix article)
@ComeHereOrIHookYou@lemmy.world avatar

I wouldn’t say it breaks everything. Franky it fixes / handles better issues that are common usecases today that was not the case during the time X11 was still the norm / actively maintained such as:

  • Multiple monitor support with varied refresh rates
  • Hybrid GPU setup (including being able to use your motherboard’s hdmi socket and your dedicated gpu hdmi at the same time)
  • Display scaling
  • Better isolation of applications (to the deterrence of existing linux applications)

Of course granted its a new protocol, it doesn’t support all the usecases that X11 was designed for due to variety or reasons (including controversial decisions)

Mind you, Wayland isn’t perfect either. For example, I found out that despite Wayland having better Hybrid GPU setup support out of the box, there are applications that ended up having broken multi-gpu support (where the application in question can choose which gpu it would utilize for its processing) where it works fine X11.

With the state of the hardware we are having, it is understandable why distros have been focused on pushing Wayland as the default, although honestly, it would be wise for these distros to not completely phase out x11 because currently, Wayland isn’t perfect.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20975616 bytes) in /var/www/kbin/kbin/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php on line 171

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4210688 bytes) in /var/www/kbin/kbin/vendor/symfony/error-handler/Resources/views/logs.html.php on line 38