this post was submitted on 03 Sep 2024
133 points (95.9% liked)

Linux

48372 readers
1739 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
 

Ever had a question about Linux but felt too afraid to ask? Well now's your chance, ask any question about Linux, no matter how noob or repeated it is, and I and others will help answer them.

Previous noob question thread: https://lemmy.ml/post/14261893

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 2 months ago (6 children)
  1. For Linux enthusiasts, how do you decide which distro you would like to try out next among the plethora of options that are available? The difference I perceive between majority of distros gets smaller the more I try to understand about them.

  2. What are the minimum issues I am likely to face using the most beginner friendly distro like Mint for programming and light gaming?

  3. How customizable is the GUI in Linux Mint specifically? What if I want a start menu like Windows 10 with the app list and the blocky app tiles? What about those custom widgets I see in hardcore Linux users' desktops?

  4. I heard there is no concept of file extensions in Linux. How am I supposed to work on my projects that I imported from my Windows machine that do contain extensions?

Bonus: Who creates those distro icons in color coded ASCII in the system info command in the terminal?

[–] flubba86 4 points 2 months ago* (last edited 2 months ago)
  1. I usually stick with distros that have large userbases. I've tried smaller and niche distros before, and inevitably they stop being maintained, or move in a direction I don't like. The larger distros like Ubuntu, Fedora, OpenSuse, have more resources (people, time, money) to spend on testing updates, and have reliable update schedules. When I was younger I didn't care about that kind of thing, but these days I use my PC almost exclusively for work 10 hours a day, 5 days a week, I need my PC to not break when I update it.

Another technique I use is to go to the vendor site for software I use and look at which Linux distros they officially support. Usually they will publish at least an Ubuntu package, sometimes a universal deb file that works on Ubuntu, Debian or Mint. Sometimes an RPM package for Fedora/CentOS too. This is getting less relevant these days with Appimage files and Flapak images that work the same across all distros.

It's natural to get bored or frustrated with one distro and want to try out others. Imagine if Microsoft made many different flavours of Windows that each look and operate differently, everyone who is bored and frustrated with default Windows would be trying them all out, comparing them, debating the pros and cons, communities would form around common favourites.

I have a small gaming PC that I use to test out other distros, I'm currently on Nobara, that I actually highly recommend for a gaming-focused distro.

  1. This one is really hard to say. It depends on so many factors like what hardware you are running, what software you plan to run, how tech savvy you are, even your definition of what is an issue. Mint is very stable and easy to use, you may run into zero issues getting it installed, running VSCode, playing some Factorio. Or you might run into a small incompatibility between your GPU and the bundled kernel drivers and run into a whole world of hurt spending days tinkering on the command line with no usable graphics driver.

  2. I believe Mint still comes with the Cinnamon Desktop, that is specifically designed to be familiar and easy for users transitioning from Windows. It's not super customisable, but I think it can do what you described. I'm not the best person to answer, I haven't used Mint or Cinnamon since 2012.

  3. File extensions are optional in Linux for some kinds of files. Linux usually tries to identify a file type using a "Magic string", meaning it will read the first 8 to 16 bytes of the start of a file and will be able to tell with a great deal of accuracy what kind of file it is. Executables, drivers, shell scripts, and many others use this method and do not need a file extension. You can definitely still use extensions though. Eg, libre Office will still save documents with a doc extension (.odt). Often Linux will use a combination of both the magic string and the file extension to determine the file type. Eg, the magic string identifies it as an open office file, and the extension tells you it's a document kind of office file.

Your Linux photo editor will still save images with a .png or .jpeg extension, because these are the convention (and may be required if you will be opening those files on a different OS). Similarly, your project files created on Windows will still work fine on Linux (if the equivalent Linux app supports that file format).

[–] [email protected] 3 points 2 months ago* (last edited 2 months ago) (1 children)

For the #4, the file extension can be seen just as a note, a little tag that'll help you (or anyone else that will receive your file) remember which program you should use to successfully open the file.

From the viewpoint of your computer, in fact, a file is just a sequence of bits and every program can open every file, only it will not be able to find what it expects and actually do something useful with it, just as you can open a book written in any possible language: in most cases you will unable to undestand it, in some others you will be able to read it without any problem.

The "concept" of extensions was than introduced to allow your file manager (Explorer for Windows, Finder for macOS, Dolphin for KDE or Nautilus for GNOME) to know which program to launch when you double click on a certain file through a simple association table (that you can edit in your system preferences).

In regards to Linux you can sometimes read that file extensions are not a thing, but this is just because in the commandline you launch a specific program that you personally point to a certain file, so there is no file manager that needs to guess which app should be launched to open the document you just double clicked on.

That said, I think that should be pretty clear that in a Desktop context (like in a Personal Computer) that double click on a file situation pretty much applies to Linux too, so extensions will be useful and respected by the file manager you'll find installed in your distro of choice, even if it can use other means when that is missing.

[–] [email protected] 2 points 2 months ago (1 children)

I'm afraid this answer isn't 100% correct. There are ways to find out a file's type beyond looking at an extension. For example, there are lots of file formats where all of the files start with a specific sequence of bites, known as a file signature (or as "magic bytes" or "magic numbers").

You can try the file command line tool to check that you can find out a file's format without resorting to its extension, and you can read the tool's manpage to learn how it works.

[–] [email protected] 4 points 2 months ago

Yes, I know about them and always prove extremely useful every time I receive a file with a wrong/no extension and have little clue about its content. But since the question was about how OP could work with "files with extensions" produced in Windows, I wanted to help clarify what are they, why they are used and that files do not need to be converted or whatever to be opened in Linux as it can "work with them" just fine.

[–] [email protected] 3 points 2 months ago
  1. I don't distrohop. Instead I just use what works for me and what I find comfortable.

  2. You will eventually need to use the terminal. And it will be overwhelming at first. But eventually the learning curve flattens a little when you get more comfortable not breaking your system ;þ

  3. Can't comment

  4. File extensions are, in essence, nothing but a convention. You don't even need them in Windows, really (You can open a file with any program, for example, you will just not get anything useful from it). So it's far from a big deal.

[–] [email protected] 3 points 2 months ago

For #1, I've made the realization that most distros are lightweight skins or addons on top of another distro. Most of the time, if you start with the base distro, all you have to do is install some apps, change some configurations, and suddenly you have that other distro. It is much easier than doing a reinstallation.

If you filter out all of these distros that only do a little on top of an existing, you're left with a quite small number actually. I'd bet it's less than 10 that are not super niche. Fedora, Arch, debian, gentoo, nixos are the big ones. There's some niche ones, like void Linux and Alpine.

So I'd say if you try all of those, you don't need to try any more 😁

[–] [email protected] 2 points 2 months ago

For #2,

For gaming, if you use steam, you may not face more than the following:

  • game does not work with no well known way to resolve. You can find this out by checking protonDB
  • game does not work because it needs to enable some options. Very easy to fix, and you can find the options on proton db for each game.
  • does not work because you didn't setup steam right. You often need to enable proton, which in short is steam's emulator or windows
  • does not work because your gpu drivers did not install. This depends on distro and they should all have a guide on how to do it, but usually it is just a matter of installing something.

For programming, you will love your life because everything programming is way easier on Linux.

[–] [email protected] 2 points 2 months ago
  1. I rarely distro hop. I used Linux Mint for a solid decade. I've made the jump to Fedora KDE pretty much entirely because Wayland support is the farthest along here, and that enables me to use more features of my hardware such as two monitors at different refresh rates, Freesync, etc. I did come to the conclusion awhile back that there's a lot of pointless distros out there, a lot of them are just "I want this particular permutation of default software."

  2. Assuming you're currently a Windows user, I think the main issue you're going to face using Linux Mint Cinnamon Edition for "programming" is going to be general culture shocks. Using a package manager instead of heading to the browser, stuff like that. "Light gaming" depending on what you mean by that could be no trouble at all or dealing with some hiccups involving Nvidia's imperfect support. There are some games that require proprietary anti-cheat that doesn't support Linux, Valorant is one of those that springs to mind.

  3. Difficult question to concisely answer; Mint has a system they call "Spices" which include a series of applets and widgets you can add to the UI, choose them from a menu and then configure them. One of these is "Cinnemenu" which replaces the default Menu with a somewhat more customizable one, though you might struggle to exactly replicate the WIndows look and feel. Beyond that, you might look at Conky for your desktop customizing needs.

  4. File extensions do exist in the Linux world but they're not as important for making things work as it is on Windows. Some files, particularly executable binaries, won't have extensions at all. A text editor might not automatically append .txt to a plaintext file, because it doesn't want to assume you're not writing a bash script or config file or something. But if you record a sound clip with Audacity or something it'll add a .wav or whatever extension as appropriate.

Bonus: You probably mean Neofetch (or whatever we're using since the developer of Neofetch has "gone farming"). Those are hard-coded into Neofetch by its developer.