Let the apologists have a field day in the comments.

  • Confused_Emus@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    Since suggestions in the comments are just words of apologists, do you have a proposal for a solution, or is this just a rant post?

    All I’m getting right now is a vague idea of some Master GUI that resembles the cockpit of a commercial jet that no “average user” is ever going to try and decipher, anyway.

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      do you have a proposal for a solution, or is this just a rant post?

      I think this post captures a commonly felt problem whether or not it is still a fair criticism.

      • paequ2@lemmy.today
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        2 months ago

        Yeah, I’ve definitely grown to like TOML, especially after spending hours trying to edit a giant (nested) YAML file…

        I didn’t realize the indentation in TOML was purely aesthetic.

        This

        [servers]
          [servers.alpha]
          ip = "10.0.0.1"
          dc = "eqdc10"
        
          [servers.beta]
          ip = "10.0.0.2"
          dc = "eqdc10"
        

        equals this

        [servers]
        [servers.alpha]
        ip = "10.0.0.1"
        dc = "eqdc10"
        
        [servers.beta]
        ip = "10.0.0.2"
        dc = "eqdc10"
        

        which equals this

        {
          "servers": {
            "alpha": {
              "ip": "10.0.0.1",
              "dc": "eqdc10"
            },
            "beta": {
              "ip": "10.0.0.2",
              "dc": "eqdc10"
            }
          }
        }
        
        • Fushuan [he/him]@lemm.ee
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          Once the file is big enough wouldn’t it be better to convert it to json before editing, then converting it back?

          Let the computer deal with indents and all that stuff.

          • Ephera@lemmy.ml
            link
            fedilink
            English
            arrow-up
            0
            ·
            2 months ago

            I love this comment. JSON is by far the format that cares the least about being human-readable or -writable, but you’re seriously proposing writing it rather than YAML. And I kind of don’t even really disagree. But a big problem with that strategy is that you won’t find documentation for how to write the configuration in JSON.

            • Fushuan [he/him]@lemm.ee
              link
              fedilink
              English
              arrow-up
              0
              ·
              edit-2
              2 months ago

              I disagree that json is not human writable. JSON is perfectly writable since it has explicit visible separations between elements.

              It might look ugly but it’s perfectly readable and writeable.

              Granted, I always read json after parsing it with an auto formatter. Maybe that’s why people say that json is difficult to read? It’s true that unformatted json (minified) is way worse than yaml but no one in their right mind would not format the json, specially when it’s natively supported by most code editors.

              BTW, about documentation, post formatting json looks very much like a yaml, all yaml docs can be converted to json instructions if you think a little bit.

  • Lka1988@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    I don’t care if settings are done by GUI or terminal, I just want clear and concise descriptions for specific settings and not a condescending “go read the man pages you fucking noob”. I’ve been fucking with Linux for over a decade now; a lack of clear documentation is not my problem, and at this point is unacceptable.

    • Darkenfolk@dormi.zone
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I’ve been fucking with Linux for over a decade now; a lack of clear documentation is not my problem, and at this point is unacceptable.

      Well seems to me that the lack of clear documentation is in fact your problem.

      I mean, fucking around for a decade?!

      : P

      • stetech@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        2 months ago

        At this point, TOML is my favorite since it basically amounts to an attempt at standardizing the .ini/.conf style of config “language”/files. It’s still simple enough, but pretty powerful, and was seemingly good for the Rust and Python projects to be convinced to choose it as a default…

        • subarctictundra@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          2 months ago

          I actually looked into it, although I didn’t like very much that the config file is actually a program and an odd language. They should have used something commonplace like JSON

    • gamermanh@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Especially when the settings are named the same/similar as other apps but do different things

      Just fucking comment line quickly what the fucking thing does you dickheads, or use your settings page for more than 3 things and stop hiding everything else in your fucking .YAML (also Stop using .YAML)

      • Lka1988@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        YAML is good for scripting services (like docker stacks), but otherwise I agree, stop using it for absolutely everything.

    • renzev@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      go read the man pages you fucking noob

      And when you actually go and read the man page, it says some shit like “Some of these options are not fully documented. For an accurate description of their functionality, consult the source code”

  • wolo@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    NixOS has the potential to do really well here. The Nix language has a rich enough type system to generate GUI forms for every field, and there are several projects being worked on that allow editing NixOS options from a GUI. They’re still very janky, but it’s definitely possible to get to a point where a layperson could operate them without breaking their system.

    • ArchRecord@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Nix is definitely where I’d bet on good GUI development, if I had to choose. I’ve had my own issues with NixOS in the past, primarily due to me simply not being able to fully grasp some of the language for configs, but I’d definitely assume that GUI editing would be much easier due to the more predictable nature of the config files.

        • ArchRecord@lemm.ee
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          It’s whole deal is “declarative” system configuration. Essentially, it means if your config file is identical to someone else’s, your systems will have identical software/dependencies, and everything should, in theory, run the same, generally speaking.

          So for instance, to install a package, instead of running sudo apt install nameofpackage, I would just edit my NixOS config file to have the line pkgs.nameofpackage in it, run a command to “rebuild” my system using sudo nixos-rebuild switch, and it would automatically be installed.

          That’s not the whole of it of course, but that’s just a general overview. It’s really good for if you’re running multiple systems that need the same software, because all you need to do is copy the config file over, run sudo nixos-rebuild switch, and the systems now have identical software.

          Oh yeah, and you can also easily rollback. If you break anything, you can, while starting to boot NixOS, just select the previous configuration, start your system, and any changes you’d made to software/settings will just be undone. It’s great for troubleshooting.

          AFAIK NixOS also has the largest number of supported packages out of any distro.

  • ⛓️‍💥@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    Desktop Environments are decoupled from the underlying system. It makes switching DEs very easy but integration sucks.

    I needed to flush dns on my Ubuntu machine. I googled it found a command for an older version. But of course the underlying stuff changed since then and that command doesn’t exist anymore.

    The command to flush dns on Windows has been the same for decades. On Linux half the stuff I learn is going to be obsolete in a couple of years and that knowledge can’t be carried over to other Distros because they do it differently.

    I also had to manually build and install a driver for a very common realtek wifi chipset that is not even new.

    • pmk@lemmy.sdf.org
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      This is the reason I sometimes come back to the BSDs, they just feel more coherent as a whole.

  • lug, probably@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    reminds me of the one time I tried to configure a proxy on fedora KDE and then realizing most apps don’t even use the inbuilt proxy settings and there are three separate ways to configure it that are only accessable via the terminal and it is pain

  • friend_of_satan@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 months ago

    This could be paraphrased as “GUI for the GUI settings, non-GUI for the non-GUI settings.” It’s not surprising to me that parts of Linux that run on systems that don’t have GUIs do. It have GUI settings. I understand the frustration, but building those is more work, and more things that can break, go out of date, etc…

    What if Linux presented its config files in an app like regedit? Would that be easier? I doubt it. But with complicated data structures, making a first-class app just to edit a specific text file or set of files on disk is a very low ROI for engineering hours.

    • Natanox@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Then at least give users the ability to edit said text files with a text editor… but the community fights that as well. 🙄 The only distro I ever saw that enabled users to open a file browser and, through that, a text editor as root to edit system files was Mint. KDE had it for a short while before they patched it out again as far as I know (last time I checked Dolphin outright refused to start with root privileges).

      It’s not like there weren’t ways to make it easier with little investment. Some elitists just managed to suppress even those efforts for decades.

      • sirleonelle@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        Kde allows you to edit files with elevated permissions; use Kate for that. Open any system file in Kate and it will ask you for your password when you’ll try to save it.

  • irelephant [he/him]🍭@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I think there should be a standard for config files, where it defines all of the options and possible values, so that an app can be made to modify them.

    • Natanox@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Any modern Linux distro viable for the average user uses systemd, and there ain’t many different bootloaders being used by big distros either (almost always either Grub or systemd-boot, rarely Efistub). Likewise it’s clear for years that Wayland is the future (not to mention this problem persists for over 2 decades now).

      I don’t see a problem with lack of standardized config files, rather a lack of interest by the rather tech-conservative part of the Linux community (who by now often have a lot to say in development circles).

        • droans@midwest.social
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          There are existing standards. The issue is that there are too many different standards and some programs will choose to make their conf files half standardized, half unique.

          There’s INI, YAML, JSON, XML, TOML, etc.

          Honestly, the Linux team needs to just choose one of these formats, declare it the gold standard, and slowly migrate the config files for most core components over to it. By declaring a standard, you’ll eventually get the developers of most major third-party tools and components to eventually migrate.

          • irelephant [he/him]🍭@lemm.ee
            link
            fedilink
            arrow-up
            0
            ·
            2 months ago

            Thats not exactly what I meant, I meant a system where you would have a file that defines all the options for an app, and their possible values, so a gui or program could be made to edit them.

            • droans@midwest.social
              link
              fedilink
              arrow-up
              0
              ·
              2 months ago

              Yeah something like that should be doable but it would require that programs provide a schema and the OS to have a way for the programs to “announce” themselves so it can be aware of the configuration files and the schema.

              I’m sure some project could create a GUI that could cover the most common applications, though.

              It’s always fun trying to set up a program, learning the config syntax, running it, having it fail, and then spending an hour debugging before you realize it never even read your config changes because you were supposed to use one of the other half dozen conf files it has spread all across your drive. Is it under /etc/, /usr/local/etc/, /opt/, or your home directory?

              • irelephant [he/him]🍭@lemm.ee
                link
                fedilink
                arrow-up
                0
                ·
                2 months ago

                I was thinking, they would put the definitions in a specific directory, like if its installed locally, ~/.config/definitions or if installed globally /etc/definitions and then any settings apps would search for those.

            • Ephera@lemmy.ml
              link
              fedilink
              English
              arrow-up
              0
              ·
              2 months ago

              What comes sort of close, is that you can define so-called “schemas”, at least for JSON, TOML, YAML and XML. Here’s what that might look like for JSON: https://json-schema.org/learn/getting-started-step-by-step

              I don’t know, if you can actually generate a GUI from such a schema, though. They’re intended for validating existing data, so I don’t know, if they give you enough data to work with to actually provide a GUI. For example, you don’t really have a human-readable name in these. The fields are rather called e.g. “productName”.

              • irelephant [he/him]🍭@lemm.ee
                link
                fedilink
                arrow-up
                0
                ·
                2 months ago

                Yeah, I am aware of schemas, I meant something where you would have, for example, a conf.definition.json file:

                {
                    screenResolution: {
                             definition: "What resolution the screen should be",
                             options: [ 
                                 "1920x1080",
                                  "720x470"
                              ]
                     }
                }
                

                So then, a settings app could control settings for other programs, like apple does, by checking this file, and editing the configuration file based on it.

  • madjo@feddit.nl
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    If you don’t know what you’re doing, you have no reason to edit those settings.

    • _donnadie_@feddit.cl
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      SUSE/openSUSE are the only ones that have it figured out. It requires a lot of polish, but it’s the only distro that seems to really care about a deeper system configuration through GUI, and that’s really appreciated.

        • wookiepedia@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          https://en.wikipedia.org/wiki/System_Management_Interface_Tool

          It’s a menu driven system management tool for IBM’s AIX unix variant. Oddly enough, even Wikipedia shows the relationship from SMIT to YaST. Instead of just smile and nod, next time make up something about “smitty print” (damn near everything was under the “print submenu”, ostensibly because you were printing out the config to screen), and look like you are a grizzled veteran of corporate unix from the days of yore.

          :-)