Linux

60329 readers
285 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
1
 
 

You're about to take your first steps in the wonderful world of Linux, but you're overwhelmed by the amount of choices? Welcome to this (I hope) very simple guide :)

The aim of this guide is to provide simple, clear information to ease your transition as a beginner. This is not a be-all-end-all guide nor an advanced guide. Because there is a lot of info and explanations everywhere, I will often (over-)simplify so as to keep the information accessible and digestible. Please refrain from asking to add your favorite distro/DE in the comments, I feel there is too much choice already ;)

Preamble

Make sure your hardware is compatible

Nowadays most relatively recent hardware works perfectly fine on Linux, but there are some edge cases still. If you don't use niche hardware and your wifi card is supported, chances are you're golden. Please note that nVidia is a bad faith player in the Linux world, so if you have a GeForce GPU, expect some trouble.

Make sure your favourite apps are either available or have a good replacement on Linux

If some proprietary app is essential to your workflow and is irreplaceable, consider running it in a VM, keeping a Windows partition for it or try and run it through Wine (this is advanced stuff though).

Be aware that Linux is not Windows/MacOS

Things work differently, and this is normal. You will probably struggle at the beginning while adjusting to a new paradigm. You may have to troubleshoot some things. You may break some things in the process. You will probably get frustrated at some point or another. It's okay. You're learning something new, and it can be hard to shed old habits forged by years on another system.

When in doubt, search for documentation

Arch Wiki is one of the greatest knowledge bases about Linux. Despite being heavily tied to Arch, most of its content is readily usable to troubleshoot most modern distros, as the building blocks (Kernel, systemd, core system apps, XOrg/Wayland, your DE of choice etc.) are the same. Most distros also maintain their own knowledge base.

Understanding the Linux world

What is Linux?

Linux, in the strictest definition, is the kernel, ie. the core component that, among other things, orchestrates and handles all interactions between hardware and software, of a large family of operating systems that, by metonymy, are called "Linux". In general understanding, Linux is any one of these operating systems, called distros.

What is a distro?

A distro, short for "Software Distribution", is a cohesive ensemble of software, providing a full operating system, maintained by a single team. Generally, all of them tend to provide almost the same software and work in a very similar way, but there are major philosophical differences that may influence your choice.

What are the main differences between distros?

As said above, there are a lot of philosophical differences between distros that lead to practical differences. There are a lot of very different ways the same software can be distributed.

  • "Point Release" (OpenSUSE Leap) vs. "Rolling Release" (OpenSUSE Tumbleweed): Point release distros are like traditional software. They have numbered releases, and between each one no feature updates take place, only security updates and bug fixes. Rolling Release distros package and distribute software as soon as it's available upstream (the software developer's repos), meaning that there are no versions and no specific schedule.
  • "Stable" (Debian Stable) vs. "Bleeding edge" (Arch): Stable distros are generally point release, and focus on fixing bugs and security flaws at the expense of new features. Each version goes through a lenghty period of feature freeze, testing and bug fixing before release. Stability here not only means trouble-free operation, but more importantly consistent behavior over time. Things won't evolve, but things won't break. At least until the next release. Bleeding edge distros, which often follow the rolling release model (there are outliers like Fedora which are mostly bleeding edge yet have point releases), on the other hand, are permanently evolving. By constantly pushing the latest version of each software package, new features, new bugs, bug fixes, security updates and sometimes breaking changes are released continuously. Note that this is not a binary, there is a very large continuum between the stablest and the most bleeding edge distro.
  • "Community" (Fedora) vs. "Commercial" (RHEL): Despite the name, Community distros are not only maintained by volunteers, but can also be developed by some company's employees and can be sponsored by commercial entities. However, the main difference with Commercial distros is that they're not a product destined to be sold. Commercial distros like Red Hat's RHEL, SuSE Linux Enterprise or Ubuntu Pro are (supposed to be) fully maintained by their company's employees and target businesses with paid support, maintenance, fixes, deployment, training etc.
  • "x package manager" vs. "y package manager", "x package format" vs. "y package format": It doesn't matter. Seriously. apt, dnf or pacman, to name a few, all have the exact same purpose: install and update software on your system and manage dependencies.
  • "general purpose" (Linux Mint) vs. "niche" (Kali Linux): General purpose distros are just that: distros that can do pretty much anything. Some are truly general purpose (like Debian), and have no bias towards any potential use, be it for a server, a desktop/laptop PC, some IOT or embedded devices, containers etc., some have various flavors depending on intended use (like Fedora Workstation for desktops and Fedora Server for, you guessed it, servers) but are still considered general purpose. They aim for maximum hardware compatibility and broad use cases. At the opposite end, niche distros are created for very specific and unique use cases, like pentesting (Kali), gaming (Nobara), music production (AV Linux) etc. They tend to have a lot of specific tools preinstalled, nonstandard defaults or modified kernels that may or may not work properly outside of their inteded use case.
  • "team" (Any major distro) vs. "single maintainer" (Nobara): Pretty self explanatory. Some distros are maintained by a single person or a very small group of people. These distros do not usually last very long.
  • "traditional" (Fedora Workstation) vs. "atomic" (Fedora Silverblue): In traditional distros, everything comes from a package. Every single component is individually installable, upgradeable, and deletable. Updating a package means deleting its previous version and replacing it with a new one. A power failure during an update lead to a partial upgrade and can make a system unbootable. Maybe a new package was bad and breaks something. Almost nothing prevents an unsuspecting user from destroying a core component. To mitigate risks and ensure a coherent system at each boot, atomic (also called transactional or immutable) distros, pioneered by Fedora Silverblue and Valve's SteamOS, were born. Like mobile phone OSes, the base system is a single image, that gets installed, alongside the current running version and without modifying it, and becomes active at the next reboot. As updates are isolated from one another, if the new version doesn't work the user can easily revert to a previous, functional version. Users are expected to install Flatpaks or use Distrobox, as installing (layering) packages is not as straightforward as with standard distros.
  • "OG" (Debian) vs. "derivative" (Ubuntu): Original distros are directly downstream of their components' source code repositories, and do most of the heavy lifting. Because of the tremendous amount of work it represents, only a few distros like Debian, Arch, Slackware or Fedora have the history, massive community and sometimes corporate financial backing to do this. Other distros reuse most packages from those original distros and add, replace or modify some of them for differenciation. For example, Debian is the parent of almost all deb-based distros like Ubuntu, which itself is the parent of distros like Mint or Pop!_OS.

What are the main components of a distro, ie. a Linux-based operating system?

All distros provide, install and maintain, among other things, the following components:

  • Boot and core system components (these are generally out-of-scope for beginners, unless you need to fix something, but you should at least know they exist):
    • A boot manager (GRUB, systemd_init, etc.): Boots the computer after the motherboard POSTs, lets you choose what to start
    • An init system (systemd, etc.): Starts everything needed to run the computer, including the kernel
    • A kernel (Linux): Has control over everything, main interface for software to discuss with hardware
  • Command-line environment, to interact with he computer in text mode:
    • A shell (bash, zsh, fish etc.): The main interface for command-line stuff
    • Command-line tools (GNU, etc.): Standard suite of command-line tools + default tools chosen by the distro maintainers
    • User-installable command-line tools and shells
  • Graphical stack for desktop/laptop computers:
    • Display servers (X11, Wayland compositors): Handle drawing stuff on screens
    • A Desktop environment (Plasma, Gnome, XFCE etc.): The main graphical interface you'll interact with everyday.
    • User-facing applications (browsers, text processors, drawing software etc.): Some are generally installed by default and/or are part of a desktop environment's suite of software, most are user-installable.
  • A package manager (apt, dnf, pacman, yast etc.): Installs, deletes, updates and manages dependencies of all software installed on the machine.

Which are the main Desktop Environments and which one should I choose?

As a new user, this is basically the only thing you should concern yourself about: choosing a first Desktop environment. After all, it will be your main interface for the weeks/years to come. It's almost as important as choosing your first distro. These are a few common choices that cater to different tastes:

  • Gnome: Full featured yet very minimalist, Gnome is a great DE that eschews the traditional Desktop metaphor. Like MacOS, out of the box, it provides its strongly opinionated developers' vision of a user experience. Fortunately, unlike MacOS, there are thousands of extensions to tweak and extend the looks and behaviour of the DE. Dash-to-dock or Dash-to-panel are great if you want a more MacOS-like or Windows-like experience, Blur My Shell is great if you love blurry transparent things, Appindicator is a must, and everything else is up to you. Gnome's development cycle is highly regular and all core components and apps follow the same release schedule, which explains why a lot of distros choose it as their default DE.
  • KDE Plasma: Full featured and maximalist, Plasma does not cater to a single design philosophy, is very flexible and can be tweaked almost ad infinitum. This may be an advantage for people who like to spend hours making the perfect environment, or a disadvantage as the possibilities can be overwhelming, and the added complexity may compromise stability, bugginess or completeness. There is not yet a single development cycle for core components and apps, which makes it a bit more difficult for distro maintainers and explains why there are so few distros with Plasma as the flagship DE. The KDE team is however evolving towards a more regular update cycle.
  • Cinnamon: Forked from Gnome 3 by the Linux Mint team who disliked the extreme change of user experience it introduced, Cinammon provides a very traditional, "windows-like", desktop-metaphor experience in a more modern software stack than the older DEs it takes inspiration from. Cinnamon still keeps a lot in common with Gnome by being simple and easy to use, yet heavily modifiable with themes, applets and extensions.
  • Lightweight DEs for old or underpowered machines: The likes of XFCE, LXDE, LXQt are great if you want to ressurect an old machine, but lack the bells and whistles of the aforementioned DEs. If your machine is super old, extremely underpowered and has less than a few Gb of RAM, don't expect miracles though. A single browser tab can easily dwarf the RAM usage and processing power of your entire system.

As for which one you should choose, this is entirely up to you, and depends on your preferences. FYI, you are not married to your distro's default desktop environment. It's just what comes preinstalled. You can install alternative DEs on any distro, no need to reinstall and/or distro-hop.

How do I install stuff on Linux?

Forget what you're used to do on Windows of MacOS: searching for your software in a seach engine, finding a big "Download" button on a random website and running an installer with administator privileges. Your package manager not only keeps you system up to date, but also lets you install any software that's available in your distro's repositories. You don't even need to know the command line, Gnome's Software or Plasma's Discover are nice graphical "App Stores" that let you find and install new software.

Flatpak are a great and more recent recent alternative to distro packages that's gaining a lot of traction, and is increasingly integrated by default to the aforementioned App Stores. It's basically a "universal" package manager system thet sits next to your system, that lets software developers directly distribute their own apps instead of offloading the packaging and distribution to distro maintainers.

Choosing a first distro

As discussed before, there is a metric fuckload (or 1.112 imperial fucktons) of distros out there. I advise you to keep it as mainstream as possible for your first steps. A distro with a large user base, backed by a decently large community of maintainers and contributors and aimed at being as fuss-free as possible is always better than a one-person effort tailored to a specific use-case. Choose a distro that implements well the DE of your choice.

What are great distros for beginners?

The following are great distros for beginners as well as more advanced users who just want to have a system that needs almost no configuration out of the box, just works and stays out of the way. Always read the installation documentation thoroughly before attempting anything, and follow any post-install requirements (for example, installing restricted-licence drivers on Fedora).

  • Fedora Workstation: Clean, sensible, modern and very up to date and should work out of the box for most hardware. Despite being sponsored by Red Hat (who are getting a lot of justified hate for moving RHEL away from open-source), this is a great community distro for both beginners and very advanced users (including the Linus Torvalds). Fedora is the flagship distro for the Gnome Desktop Environment, but also has a fantastic Plasma version. Keywords: Point Release, close to Bleeding Edge, Community, dnf/rpm, large maintainer team, traditional, original.
  • Linux Mint: Mint is an Ubuntu (or Debian for the LMDE variant) derivative for beginners and advanced users alike, that keeps Ubuntu's hardware support and ease of use while reverting its shenanigans and is Cinammon's flagship distro. Its main goal is to be a "just works" distro. Keywords: Point Release, halfway between Stable and Bleeding Edge, Community, apt/deb, smallish maintainer team but lots of contributors, traditional, derivative (Ubuntu or Debian).
  • Pop!_OS: Backed by hardware Linux vendor System76, this is another Ubuntu derivative that removes Snaps in favor or Flatpaks. Its heavily modified Gnome DE looks and feels nice. In a few months/years, it will be the flagship distro for the -promising but still in development- Cosmic DE. Keywords: Point Release, halfway between Stable and Bleeding Edge, commercially-backed Community, apt/deb, employee's maintainer team, traditional, derivative (Ubuntu).
  • If you want something (advertised as) zero-maintenance, why not go the Atomic way? They are still very new and there isn't a lot of support yet because they do things very differently than regular distros, but if they wort OOTB on your system, they should work reliably forever. Sensible choices are uBlue's Aurora (Plasma), Bluefin (Gnome) or Bazzite (gaming-ready), which are basically identical to Fedora's atomic variants but include (among other things) restricted-licence codecs and QOL improvements by default, or OpenSUSE's Aeon (Gnome). Keywords: Point Release, Bleeding Edge, Community, rpm-ostree, large maintainer team, Atomic, sub-project (Fedora/OpenSUSE).

Which power-user distros should I avoid as a beginner, unless I reaaaally need to understand everything instead of being productive day one?

These are amongst the very best but should not be installed as your first distro, unless you like extremely steep learning curves and being overwhelmed.

  • Debian Stable: as one of the oldest, still maintained distros and the granddaddy of probably half of the distros out there, Debian is built like a tank. A very stringent policy of focusing on bug and security fixes over new features makes Debian extremely stable and predictable, but it can also feel quite outdated. Still a rock-solid experience, with a lot to tinker with despite very sensible defaults. It is an incredible learning tool and is as "Standard Linux" as can be. Debian almost made the cut to "beginner" distros because of its incredible reliability and massive amount of documentation available, but it might be a bit too involved for an absolute beginner to configure to perfection. Keywords: Point Release, Stable as fuck, Community, apt/deb, large maintainer team, traditional, original.
  • Arch: The opposite of Debian in philosophy, packages often come to Arch almost as soon as the source code is released. Expect a lot of manual installation and configuration, daily updates, and regularly fixing stuff. An incredible learning tool too, that will make you intimate with the inner workings of Linux. The "Arch btw" meme of having to perform every single install step by hand has taken a hit since Arch has had a basic but functional installer for a few years now, which is honestly a good thing. I work in sofware. A software engineer who does every single tedious task manually instead of automating it is a shit software engineer. A software engineer who prides themself from doing every single tedious task manually should seriously reconsider their career choices. Arch's other main appeal is the Arch User Repository or AUR, a massive collection of user-created, automated install scripts for pretty much anything. Keywords: Rolling Release, Bleeding-edge, Community, pacman/pkg, large maintainer team, traditional, original.

Which distro should I avoid, period?

  • Ubuntu: despite having a huge mind-share as the beginner distro, Ubuntu suffers from it's parent company's policy to make Ubuntu kinda-Linux-but-not-really and a second-rate citizen compared to their Ubuntu Pro commercial product. Some of the worst takes in recent years have been pushing Snaps super agressively in order to get some "vendor-lock-in", proprietary walled-garden ecosystem with exclusive commercial apps, forcibly installing snaps even when explicitely asking for a .deb package through apt, baking ads and nags into major software or only delivering critical security patches to Pro customers. Fortunately, there are some great derivatives like Mint or Pop!_OS cited above that work equally well but revert some of the most controversial decisions made by Canonical.
  • Manjaro: Manjaro might seem appealing as a "user-friendlier" Arch derivative and some of its tools are fantastic to remove some configuration burden, but ongoing mismanagement issues and the fact that it needs Arch-style regular maintenance as updates often break stuff prevent it from being a truly beginner distro. Manjaro also has a highly irregular update schedule that's weeks behind Arch, making using the AUR extremely dangerous, as it always expects a fully up-to-date Arch system.
  • Any single-maintainer or tiny team distros like Nobara or CachyOS. They might be fantastic distros made by exceptional people (I have mad respect for Nobara's maintainer Glorious Eggroll and his work on Proton-GE), they are most often derivatives so the heavy lifting is already done by their parent distro's maitainers, but there is too much risk involved. Sometimes life happens, sometimes people move on to other projects, and dozens of small distros get abandonned every year, leaving their users dead in the water. Trusting larger teams is a much safer bet in the long term.
  • Anything that refuse to use standards for ideological reasons like Alpine Linux, Devuan or Artix. Don't get me wrong, not using any GNU tools or systemd is a cool technological feat and developing alternatives to the current consensus is how things evolve. However, these standard tools have a long history, hundreds if not thousands of maintainers and are used by millions, meaning there's a huge chance your specific issue is already solved. Refusing to use them should be reserved to very advanced users who perfectly understand what they're gaining and losing. As a beginner to intermediate level, it will at best make most of the documentation out there irrelevant, at worst make your life a miserable hell if you need to troubleshoot anything.

Philosophical questions, or "I've seen people arguing over the Internet and now I'm scared"

You've done your research, you're almost ready to take the plunge, you even read a lot of stuff on this very community or on the other website that starts with a "R", but people seem very passionately for or against stuff. What should you do?

Shoud I learn the command line?

Yes, eventually. To be honest, nowadays a lot of things can be configured on the fly graphically, through your DE's settings. But sometimes, it's much more efficient to work on the command line, and sometimes it's the only way to fix something. It's not that difficult, and you can be reasonably productive by understanding just about a dozen very simple commands.

I have a very old laptop/desktop, should I use a distro from its era?

Noooo!. Contrary to Windows and MacOS which only work correctly on period-correct computers, Linux runs perfectly well on any hardware from the last 20 to 30 years. You will not gain performance by using an old distro, but you will gain hundreds of critical security flaws that have been since corrected. If you need to squeeze performance out of an old computer, use a lightweight graphical environment or repurpose it as a headless home server. If it's possible, one of the best ways to breathe new life into an old machine is to add some RAM, as even lightweight modern sofware will struggle with less than a few Gb.

Should I be concerned about systemd?

No. In short, systemd is fine and all major distros have switched to systemd years ago. Even the extremely cautious people behind Debian have used systemd as default since 2015. Not wanting to use systemd is a niche more rooted in philosophical and ideological rather than practical or technical reasons, and leads to much deeper issues than you should concern yourself with as a beginner.

Should I be concerned about XOrg/Wayland?

Yes and No, but mostly No. First off, most distros install both Wayland and XOrg by default, so if one is not satisfying to you, try the other. Remember in the preamble when I said nVidia was a bad actor? Well, most of people's complaints about Wayland are because of nVidia and their shitty drivers, so GTX/RTX users should stay on XOrg for now. But like it or not, XOrg is dead and unmaintained, and Wayland is the present and future. XOrg did too many things, carried too many features from the 80's and 90's and its codebase is a barely maintainable mess. X11 was born in a time when mainframes did most of the heavy lifting and windows were forwarded over a local network to dumb clients. X11 predates the Internet and has basically no security model. Wayland solves that by being a much simpler display protocol with a much smaller feature set adapted to modern computing and security. The only downside is that some very specific functionalities based on decades of X11 hacking and absolute lack of security can be lost.

I want to play some games, should I look for a gaming distro?

No. General purpose distros are perfectly fine for gaming. You can install Steam, Lutris, Heroic, Itch etc. and use Proton just fine on almost anything. Even Debian. In short, yes, you can game on Linux, there are great tutorials on the internet.

Should I be concerned about Flatpaks and/or Snaps vs. native packages?

Not really. Flatpaks are great, and more and more developers package their apps directly in Flatpak format. As a rule of thumb, for user facing applications, if your app store gives you the choice between Flatpak and your native package manager version, choose the most recent stable version and/or the one packaged by the developer themselves (which should often be the Flatpak anyway). Snaps however are kinda bad. They are a Canonical/Ubuntu thing, so as long as you avoid Ubuntu, its spins and its derivatives that still include Snaps, you should be fine. They tend to take a lot longer to startup than regular apps or Flatpaks, the snap store is proprietary, centralized and Canonical controls every part of it. Also, Canonical is very aggressive in pushing snaps to their users, even forcing them even when they want to install an apt package. If you don't care, have fun.

I need/want program "x", but it is only available on distro "y" and not on mine. I've been told to ditch my beloved distro and install the other one, should I?

No. Generally, most software is intallable from your distro's package manager and/or Flatpak. But sometimes, your distro doesn't package this program you need, or an inconsiderate developer only distributes a random .deb on their Github release page. Enter Distrobox. It is a very simple, easy to use command line tool that automates the creation of other Linux distros containers using Docker or Podman (basically, tiny, semi-independant Linuxes that live inside your regular Linux), and lets you "export" programs installed inside these containers to you main system so you can run them as easily and with almost the same performance as native programs. Some atomic distros like uBlue's variants even include it by default. That .deb we've talked about before? Spin a Debian container and dpkg install the shit out of it. Absolutely need the AUR? Spin an Arch container and go to town.

Acknowledgements

Thanks to everyone who helped improve this guide: @GravitySpoiled@lemmy.ml, @tkn@startrek.website, @throwaway2@lemmy.today, @cerement@slrpnk.net, @kzhe@lemm.ee, @freijon@feddit.ch, @aarroyoc@lemuria.es, @SexualPolytope@lemmy.sdf.org, @Plopp@lemmy.world, @bsergay@discuss.online ...and many others who chimed in in the comments <3

Link to version 1: https://lemm.ee/post/15895051

2
 
 

I'm setting up a computer to play DVD and Bluray from, and i'd like it to also be able to host games like Terraria or Minecraft over the local network so i'm not doing that from the same computer i'm playing on.

Is there any distro in particular that's good for this? Mint is what i'm most familiar with but i'm open to trying others.

3
4
5
 
 

So i have a 3D printer, and i have linux on a laptop but im struggling to find good 3D print-related software to use on linux or maybe i havent looked hard enough? Im pretty much a beginner to both linux And 3d printing, also using Ubuntu Mate if that matters on a old thinkpad.

So i need a 3d print slicer/way to print to my printer, i also need a simple 3d modeling software (ive tried blender but found it too hard and heavy for me and my laptop). It would help if all suggested software were open source or something like that.

6
 
 

PostmarketOS blog post on the future of helping fund the development of the project through donations.

7
14
submitted 1 day ago* (last edited 1 day ago) by Jack_Burton@lemmy.ca to c/linux@lemmy.ml
 
 

I had another post and got some great advice, thank you to everyone who took the time, but I've learned so much over the last 2 days that I wanted to be more direct and clear since I'm still stuck. Mostly I just want to know if I'm on the right track, and if anyone had any advice. I don't just want to get things working, I'd like to understand why. After a lot of digging, I feel like I might be close to getting it.

I have 4 secondary internal drives, and 2 external. They all mount as root 777, I can access things but I also use Emby server. Emby can see everything, but can't write. So that said, here's how it started to where I'm at, does this sound like I'm heading in the right direction?

  1. CachyOS mounts to /run/media/user (the user folder has a lock on it) and I had to password/mount all drives at every reboot. I read something about /run being a temp folder so I looked into auto-mounting after some advice.

  2. I learned how to set up auto mount with gnome disk utility, which writes to fstab. Great! fstab hurts my brain after filling it up the last 2 days. I set them to mount to /mnt/drivename, and they auto mount at boot. So far so good!

  3. I can now access my drives, so I began setting up my server. No problem this time! Emby sees the directories and scans them. Finally! However even though I can rw on the drives, Emby sees them as read only. Bummer.

  4. Checking permissions, the drives are all mounted as root, with 777 permissions (which I suppose is why I can write to them but I don't get why Emby can't, maybe because it's a different user?).

  5. Time to get permissions! sudo chown does nothing. Still owned by root. Right click/permissions shows root:root, owner, group, other all can view and modify content, and it's all greyed out. 'Cause it's root, duh.

  6. More digging, the drives are NTFS! Apparently Arch mounts NTFS with root ownership, permanently. This makes sense! I think I found my problem! Maybe.

  7. Now I'm here, asking you wonderful nerds before I continue. I'm planning to change the mounts in gnome disk utility back to default (slider) and unmount and reboot. No idea if they'll mount to /run or /mnt. Next, I have ntfs-3g installed and plan to run mount -t ntfs3 /dev/sdxY /mnt though I think I either need to create a drivename folder in /mnt or add mount -t ntfs3 /dev/sdxY /mnt/DRIVENAME the drive name to the end and it'll create it maybe?

The other thing that's bugging me is that gnome disk utility writes the mounts to fstab. I'm thinking if I do it this way, fstab will still have the old info and it'll cause issues? Putting the slider back to default probably won't just clear the fstab rules. That'd be too simple haha.

I'm totally not opposed to just reinstalling yet again and starting from scratch, if my plan will work. Any guidance is greatly appreciated!

EDIT: I think I got it! For anyone with the same issue, I added uid=1000,gid=1000 to the end of the options strings in gnome disk utility. I am now the owner of the drives, Emby can do what it needs to do, and the permissions stuck after a reboot! Now I just gotta look into why that worked haha.

EDIT 2: Spoke too soon. After a reboot they were ro for Emby again. I added rw to the drive options and it worked again. But after another reboot, no go again. Turns out after each reboot unmounting then remounting works. Not sure if there's a way to make this work. Maybe they mount too soon? I dunno, but for now it's functional.

8
13
404 in apt (slrpnk.net)
submitted 2 days ago by oeuf@slrpnk.net to c/linux@lemmy.ml
 
 

Just today I'm getting errors when trying to install software via apt in Debian 13. Specifically ardour and gnome-boxes. Other packages seem to be unaffected, like gimp and blobwars for example. The errors are all variations of the following:

Err:1 http://deb.debian.org/debian trixie/main amd64 libwebsockets19t64 amd64 4.3.5-1 404 Not Found [IP: 151.101.62.132 80] Error: Failed to fetch http://deb.debian.org/debian/pool/main/libw/libwebsockets/libwebsockets19t64_4.3.5-1_amd64.deb 404 Not Found [IP: 151.101.62.132 80]

Looking online the suggestion seems to be that I might have /etc/apt/sources.list misconfigured. Is it this causing the problem, or something else?

Here is my sources.list

# deb cdrom://[Debian GNU/Linux 13.0.0 _Trixie_ - Official amd64 NETINST with firmware 20250809-11:2>

deb http://deb.debian.org/debian/ trixie main non-free-firmware 
deb-src http://deb.debian.org/debian/ trixie main non-free-firmware 

deb http://security.debian.org/debian-security/ trixie-security main non-free-firmware 
deb-src http://security.debian.org/debian-security/ trixie-security main non-free-firmware 

# trixie-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ trixie-updates main non-free-firmware 
deb-src http://deb.debian.org/debian/ trixie-updates main non-free-firmware 

# This system was installed using removable media other than
# CD/DVD/BD (e.g. USB stick, SD card, ISO image file).
# The matching "deb cdrom" entries were disabled at the end
# of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

Any advice?

Thanks!

9
 
 

newest / best format would be AV1, but my computer doesn't support it completely. VP9 is completely supported.

the command I've been using: yt-dlp -f bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] -S height:1080 --all-subs --no-warnings -v https://www.youtube.com/watchx

this command downloads the best available video up to 1080p, but if the best video format available is AV1, it will download it. I need a command that downloads the best video but up to VP9.

Help appreciated.

10
 
 

cross-posted from: https://feddit.org/post/23120439

Here, my summary of key features and decisions of Guix:

  1. Guix is a package manager that can (optionally) run on top of Linux distributions or other POSIX systems, like cargo, pip, conda or Conan. In difference to the pip and cargo package managers, it is language-agnostic, supports many different build systems and languages, and features around 29000 packages now.
  2. Guix allows to define a fully reproducible system. This works by using a declarative language for immutable version-controlled package descriptions, and by deriving any software from package definitions and a fixed version (commit hash) of the source code. In that, it is similar but much stricter than Nix and NixOS. The key point is that any software built, and all its dependencies, go back to unambigously, immutable versions of source code and build recipes - and all inputs to the system are open source and can be reviewed.
  3. Important for programming, this can also define isolated build and development environments, like Python's venv, but also Docker containers. This means that Guix can be used to develop, build, package, and deploy software, very much like Snap packages. And that's independent from the distribution you work in, very much like pip or cargo are independent from the system you work in. (And yes, it supports Rust!).
  4. This allows it, and also makes it technically possible, that any software package can be re-built and run years later. To make this legally possible, the official distribution of Guix also demands all components to be open source (FOSS). This is also a key difference to NixOS and non-free forks of Guix, which allow non-free binary packages, but sacrifice reproducibility. (To illustrate: If you have a binary, proprietary scanner driver in NixOS, and the owning company practices planned obselescence and decides that you should buy their new hardware, and pulls that driver, you are out of luck. In Guix, this can't happen.) (Note that as your own private conponents, you can define any package you like, you can also distribute your definitions as a complement to GNU Guix. Non-free packages for Guix do exist, in the same way as you can buy and run Steam Games software for Linux. Such non-free software just can't become part of the official Guix distribution, just like Amazon or Apple can't sell their non-free software via Debian or the Linux kernel project (or, for that matter, Apple has no obligation to market and distribute, say, Oracle products).
  5. All inputs being open source also means that any software component can be reviewed, that mis-features such as privacy-invasive behaviour can be removed, and that it is hardly possible to hide malware in the system. Because this also applies recursively to all compilers and build tools, this solves also Thompson's "Trusting Trust" problem. In fact, the whole system can be build from a 512 byte binary root (called MER). (Interestingly, that level of user control gets a lot of hate online -- certain companies don't seem to like it).
  6. Because it would take too long to build every user package from source every time, the produced packages are normally cached (while their correct binary content can be easily verified).
  7. The declarative description language for the packages is a well-defined, established, minimalist language called Scheme. This is a member of the Lisp family of languages. That Lisp is very well suited for declaratively building and configuring large systems has been proven with GNU Emacs, whose software, but more importantly, whole user configuration, is written in Emacs Lisp.
  8. The Scheme implementation used is called Guile. It has especially good support for the POSIX environment and has also much better-than-average interactive debugging capabilities compared to other Scheme implementations.
  9. Also worth noting is that the Guix project has superb online documentation. This is a practical advantage compared to Nix.

As example: you are on Debian stable and quickly want to try a recent version of the kakoune editor (as kakoune is in ongoing development): They are available under the Guix package manager. Just

guix install kakoune

and bang you have it!

How it works:

https://codeberg.org/guix/guix#headline-4

Manual:

https://guix.gnu.org/manual/en/html_node/Installation.html

Also informative for using Guix just as a package manager:

https://wiki.archlinux.org/title/Guix

11
 
 

I asked this to an AI, and it didn't say anything intelligible, maybe I'm just not smart enough to understand AI.

12
 
 

Hi!

If you’re using redshift on Linux, I made a small tool that might be useful. It automatically sets the screen temperature based on the current time, you just draw a curve for how you want it to behave during the day. Then you can just add it to crontab to run every minute or hour.

13
 
 

I love virtualization in Linux and I would like to have operating system which will work only as minimal, air-gapped as much is possible host for my guest operating systems. Qubes OS project really interested me but it's based on Xen hypervisor so it might cause troubles with GPU Passthrough which is really important for me also I'm more interested in KVM. In my case it's not only about security and privacy but also about fun and learning. What can you recommend? I think that good choice might be Gentoo Linux because it allows for minimal installation and remove unnecessary software like CUPS, Bluetooth entirely with flags which will be great option for host only OS. But I had experience with Gentoo and it's not easiest way 😅 Debian might be easier option but I will have less control over my system. Maybe you have other interesting options?

14
 
 

Hello everyone,

I've just published the second post in my Linux Inside Out series.

In the first post we demystified the Linux kernel a bit: where it lives, how to boot it in a VM, and we even wrote a tiny init program.

In this second post we go one layer deeper and look at how programs actually talk to the kernel. We'll do a few small experiments to see:

  • how our init program (that we wrote in the first post) communicates with the kernel via system calls
  • how something like echo "hello" ends up printing text on your screen
  • how to trace system calls to understand what a program is doing

I’m mainly targeting developers and self-hosters who use Linux daily and are curious about the internals of a Linux-based operating system.

This is part 2 of a longer series, going layer by layer through a Linux system while trying to keep things practical and approachable.

Link (part 2): https://serversfor.dev/linux-inside-out/system-calls-how-programs-talk-to-the-linux-kernel/

Link (part 1): https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/

As always, any feedback is appreciated.

15
 
 

When I was visiting my wife's family for Thanksgiving, my father-in-law told me that his laptop was telling him that if he didn't upgrade to Win11 he be vulnerable to all sorts of malware. They're both retired and on a fixed income so he was panicking over buying a new machine. I put Mint on his existing laptop and walked him through its use. Fingers crossed that he'll be able to handle it. I haven't had any support calls from him yet but I'll find out how it's going when I see him in a few days.

Does anyone have any tips for supporting older family members on Linux if they have absolutely no experience with it?

16
 
 

I finally bought a replacement CPU so I could put linux on my desktop again, just to find out that my wireless card doesn't work under linux. I guess I'm gonna have to save up and get a PCIe wireless adapter
TwT

17
79
submitted 4 days ago* (last edited 4 days ago) by petsoi@discuss.tchncs.de to c/linux@lemmy.ml
 
 
  1. You love giving your data away
  2. You enjoy being tracked by your operating system
  3. You’re happy when your computer tells you “no”
  4. You prefer someone else deciding what you can run
  5. You feel uncomfortable if you get to have options
  6. You’d rather battle corporate tech support
  7. You’d rather rent your software than own it
  8. You think ads belong on your desktop
  9. You love being lied to about what’s “industry standard”
  10. You like rebooting for every little update
  11. You’re uncomfortable when software is transparent
  12. You think community-made tools can’t be “professional”
  13. You want intrusive AI everywhere, whether it helps or not
  14. You think the command line is only for hackers
  15. You never really wanted your computer to be yours anyway
18
 
 

I've been setting up a new Proxmox server and messing around with VMs, and wanted to know what kind of useful commands I'm missing out on. Bonus points for a little explainer.

Journalctl | grep -C 10 'foo' was useful for me when I needed to troubleshoot some fstab mount fuckery on boot. It pipes Journalctl (boot logs) into grep to find 'foo', and prints 10 lines before and after each instance of 'foo'.

19
19
submitted 3 days ago* (last edited 1 day ago) by Jack_Burton@lemmy.ca to c/linux@lemmy.ml
 
 

I just installed Cachyos and I'm having trouble with mount points I think. At boot, I need a password to mount sata drives, and whatever permissions I change don't stay after rebooting. From what I can tell, it has to do with the drives mounting on /run/media, and apparently /run is a temp folder or something.

I think I need to change the mount points to something else, like /media (which doesn't exist and I'm hoping I can just create the folder and use it as a mount point?)

fstab is confusing me, can anyone help me with a quick rundown?

Edit: Think I've got it using gnome disk utility. I switched the mounts, everything boots up connected now. Had an issue where I couldn't read or write to the drives tho haha, but seems to have corrected after a reboot ( I think I may have installed ntfs-3g before the reboot). The owner and group for all of them are now root for some reason, but it seems to be working anyway.

Edit 2: If anyone is here for the same issue, I've made another post which is more directed at the issue: NTFS drives. You can find it here https://lemmy.ca/post/57140934

20
 
 

I'm liking the recent posts about switching to Linux. Some of my home machines run Linux, and I ran it on my main laptop for years (currently on Win10, preparing to return to Linux again).

That's all fine and dandy but at work I am forced to use Windows, Office, Teams, and all that. Not just because of corpo policies but also because of the apps we need to use.

Even if it weren't for those applications, or those policies, or if Wine was a serious option, I would still need to work with hundreds of other people in a Windows world, live-sharing Excel and so on.

I'm guessing that most people here just accept it. We use what we want at home, and use what the bossman wants at work. Or we're lucky to work in a shop that allows Linux. Right?

21
 
 

My VPN provider has a limit to how many concurrent connections I can have, and a workaround I've been using is to run the Wireguard client as a daemon (wg-quick@my-wg-config) and a Squid proxy on my home server, and point my local devices to the HTTP proxy port, which will route the traffic through the Wireguard connection. However, this has broken randomly multiple times in the past few months, where it will randomly decide to just not allow the server to connect to ANY internet address while the Wireguard connection is active, and no amount of network or routing table configuration changes fixes it. The Squid proxy works fine as far as I can tell, it's just the Wireguard connection that's failing, which doesn't even allow a ping to an internet address from the server's terminal (which doesn't go through the proxy). The only way I've been able to fix it is to completely reinstall the OS on the server and reconfigure everything from scratch, which is annoying and also only works until it randomly decides to break again. This makes me think I'm doing something wrong.

Is there a more "proper" or widely supported way of routing internet traffic on local devices through a single Wireguard connection? Everything I could read online says running Wireguard with an HTTP proxy server is the way to do it, but it clearly isn't very reliable or my computer is just defective in some weird intermittent way? The server is running Fedora Server 43. I've also checked for SELinux denials but there are none.

I'm aware of wireproxy but it uses a SOCKS5 proxy which is not as widely supported as an HTTP proxy and a lot of my devices (mainly phones) won't be able to access it. Also I'd like the server itself to also use the VPN, not just the devices on the proxy.

Does anyone have more experience with this and can give some advice?

22
 
 

Personally, I’m not brand loyal to any particular OS. There are good things about a lot of different operating systems, and I even have good things to say about ChromeOS. It just depends on what a user needs from an operating system.

Most Windows-only users I am acquainted with seem to want a device that mostly “just works” out of the box, whereas Linux requires a nonzero amount of tinkering for most distributions. I’ve never encountered a machine for sale with Linux pre-installed outside of niche small businesses selling pre-built PCs.

Windows users seem to want to just buy, have, and use a computer, whereas Linux users seem to enjoy problem solving and tinkering for fun. These two groups of people seem as if they’re very fundamentally different in what they want from a machine, so a user who solely uses Windows moving over to Linux never made much sense to me.

Why did you switch, and what was your process like? What made you choose Linux for your primary computing device, rather than macOS for example?

23
41
submitted 4 days ago* (last edited 4 days ago) by cellolino@lemmy.zip to c/linux@lemmy.ml
 
 

Hey I’m cell and my bf of nearly 2 years asked me to switch to Linux because it’s “obv way better then windows” (his words xd) and until now I always said no. I didn’t wanna learn how to navigate through a new distro all over again. I gave it some thought and decided to make it his “Christmas” present that I’m installing Linux on my laptop :3 if any of you can give me advice on what type of Linux, like arch, I should install and what I should be aware of would really help!

24
 
 

Qutebrowser can't locate adblock python library on fedora. I installed it using pip but this doesn't solve problem. How to make it look at ~/.local/lib/python/site-packages/ for that library?

25
 
 

Hello! I'm new to Linux, and I'm thinking of switching from Windows to Linux because I don't want anything to do with Microsoft, Google, or any other evil corporation, and I don't want them spying on me. I'm thinking of using Linux Mint since it's the most recommended for beginners, but there's also Ubuntu. I don't really care if it looks a lot or a little like Windows, I just want it to have a nice design and be easy to use. Kubuntu is also recommended for those coming from Windows, and ElementaryOS for those coming from macOS. I don't know which one to choose; they all seem very good to me. Here are some of the features I would like the distribution to have:

  1. Nice design and easy to use
  2. Customizable
  3. Focused on privacy and security
  4. Easy to install
  5. Best for Linux beginners Which one do you recommend? Which one do you use?
view more: next ›