this post was submitted on 20 Aug 2024
34 points (87.0% liked)

Linux

48193 readers
1452 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 5 years ago
MODERATORS
 

Hi....

  • I don't know what to say in the introduction, but in brief I have some questions about Linux, which were formed after trying some distributions on DistroSea and observing Linux communities on the Internet. Can you help with the answer?
  1. I liked Gnome DE interface very much, but whenever I look at the empty workspace after closing an app , I feel that something is missing (sorry, I have been using Windows for almost 15 years). Is there an add on - or any other way - to install some apps on workspace? Or do I have to get used to it as it is ?

  2. I read that Linux is more problematic on laptops than on personal computers, is this true? If so...what are the usual problems and is there a way to avoid them?

  3. Are there any distributions that come with the minimum pre-installed apps ? ... I mean not even a video or music player

  4. If I want to delete a pre-installed app (let's say the default browser), can this be done easily or does it require root, like Android?

  5. Does rooting invalidate the system from obtaining updates?

  6. I read that switching DEs is easy... but how exactly is it done? Something in the settings, or downloading the interface independently, or customizing it to be similar to the other, or something else?

  7. Lazy question : What are wayland and docker? I see a lot of people mentioning them

  • Sorry for the many questions, and thanks in advance
you are viewing a single comment's thread
view the rest of the comments
[–] boredsquirrel@slrpnk.net 1 points 2 months ago
  1. ElementaryOS places the app menu there

  2. Suspend resume is the main one. Power management may be another. For example USB ports could be turned off, the CPU scheduler could be changed to powersave, network speed reduced, and a lot more These are always different though and 90% fine.

  3. Fedora Atomic Desktops are great here. The goal is a minimal base OS for running Flatpak apps (or container stuff) on. They are a bit too minimal for me poorly, uBlue uses these desktops and adds more packages, most notably hardware support (like asus, nvidia, surface)

  4. Android is extremely different from traditional distros.

It uses A/B-root with 2 immutable system partitions, where the system apps are. That storage space can only be used by the system so uninstalling stuff there doesnt do anything useful, if you dont also install system apps there. Which is not normally possible.

On Android, a minimal system like on GrapheneOS is best. All other editions, Googles own PixelOS included, break the Android security model of sandboxing all apps, which is hillarious. Only GrapheneOS really follows it by also sandboxing the optional Google apps and services.

On traditional Linux distros, the system is just a bunch of packages slammed onto a disk, and a package manager doesnt know how the setup should look like. It only knows that package A also requires packages B, C, X, 1, 2 and there are often package groups like kde-plasma-desktop that automatically install packages D, E, F, G for example.

Uninstalling an app may remove dependencies, and if the app is not a dependency of others, it works without issues.

This is only system packages. With Flatpaks, Snaps, Appimages or binaries (like the Firefox .tar.gz archive Mozilla officially offers) you can install and uninstall whatever you want.

On "immutable" distros, that use many different variants of reducing the mess of traditional distros, this is different. On Fedora Atomic Desktops, which (maybe apart from NixOS, which is more complicated) use the best method of this composed system, you can rpm-ostree override remove a package and it is removed from the "immutable" system. But there are no immutable distros I think, all allow changes by root users.

Root on Android is different than on Linux. You can use Linux without root, but distros are not built for that. I am working on making Fedora capable of that, even though my change for flatpaks was rejected poorly.

On Linux by default you are a wheel/sudo user and can run commands with root privileges by just entering your user password. Thus, the barrier for programs to get root access is pretty low, and you should always try to make your system update on its own, and have a user not in the wheel (most distros) / sudo (debian) group.

  1. No, rooting on Android is very very different. On Linux you have root access and can control this with sudo configuration, polkit rules and user groups.

You can create custom groups like "the flatpak group is allowed to install apps of this specific format, even though it might normally require root access".

  1. Package managers have package groups, most distros have groups for an entire DE. Just install one package group and install another.

On Fedora Atomic desktops, the system is composed into "images", more like Android. The system is separate from the user stuff (your home directory, user configurations) and you can swap to a different image by "rebasing".

This is way more stable than the oldschool package manager way. For example you can rebase from silverblue (GNOME) to kinoite (KDE Plasma).

  1. Wayland is a modern and sleek protocol for apps to display stuff on the screen, read stuff from the screen, capture input (like keyboard, camera, audio) and more. It handles access of apps to what you allow it, and it fundamentally more clean and controlled than X11, which is the old display protocol.

For example, X11 allows any app, no matter if in the foreground or not even displaying a window, to log all your keyboard inputs, all the time.

Docker is a tool to use small "containers", which is a set of files that build an operating system. The files are the ones you normally find as the system stuff of an OS, but in a reduced form, and without the kernel (the main hardware interface and controller). Containers run on your system kernel, but in a different "system". If you run apps there, they run in the container and not on your system. This ensures that apps compatible with that container run on all systems, that support running the container manager (podman or docker).

Podman is an alternative to docker that is supposedly more secure.

Containers are used by lazy devs to not need to fiddle with all the different Linux system configuations anymore. They help to get new software more easily and faster updates. Flatpak also uses containers.

But they are also bigger, use more RAM (it is a small extra system!) and are outside of the control of the OS. Updates also work strange, containers are images that are never updated from inside it (like a traditional distro) but as a whole by the container manager.

This means they may be outdated or insecure. There are tools to update containers and to check for CVEs (critical vulnerabilities) in them.

As a desktop user, you should normally not need to use containers. Their UX (user experience) kinda suck and they are not a good way to get apps.

Distrobox is a small exception. It uses podman or docker under the hood, and allows to install containers of other Linux Distros on a different Distro. For example if an app only runs on Ubuntu, you can use it on Fedora anyways.

On Fedora Atomic Desktops, Distrobox helps to install some apps that are not yet flatpaks. But the user experience is still worse, for example system upgrades dont work and you need to replace the container and reinstall the apps when upgrading it.

Using a rolling distro container like Arch, OpenSUSE Tumbleweed, Debian Sid, OpenSUSE Slowroll, helps here. But apart from OpenSUSE Slowroll I wouldnt use them.