this post was submitted on 30 Mar 2025
147 points (96.8% liked)

Linux

52732 readers
449 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
 

The diversity of Linux distributions is one of its strengths, but it can also be challenging for app and game development. Where do we need more standards? For example, package management, graphics APIs, or other aspects of the ecosystem? Would such increased standards encourage broader adoption of the Linux ecosystem by developers?

top 50 comments
sorted by: hot top controversial new old
[–] HiddenLayer555@lemmy.ml 39 points 2 days ago* (last edited 2 days ago) (9 children)

Where app data is stored.

~/.local

~/.config

~/.var

~/.appname

Sometimes more than one place for the same program

Pick one and stop cluttering my home directory

[–] FooBarrington@lemmy.world 17 points 2 days ago (1 children)
[–] mactan@lemmy.ml 1 points 21 hours ago (1 children)
[–] FooBarrington@lemmy.world 2 points 19 hours ago

Eh, things have gotten better, and there are tools that make these tools respect them.

[–] rice@lemmy.org 5 points 2 days ago

Yea I like how a lot have moved to using .config but mozilla just moved out of there and now has a .mozilla folder outside of it.. wtf... It is insanely sad.

I have actually moved my entire "user home folder".. folders out of there just because it is so ugly and unorganized. I now use /home/user/userfolders/.. all my stuff like documents / videos etc in here

load more comments (7 replies)
[–] muusemuuse@lemm.ee 10 points 2 days ago (2 children)

Rewrite the entire kernel exclusively in rust!

-hehehe-

[–] TrivialBetaState@sopuli.xyz 5 points 2 days ago

And that's how WW3 started..!

[–] steeznson@lemmy.world 1 points 1 day ago (1 children)

There is a separate kernel which is being written entirely in rust from scratch that might interest you. I'm not sure if this is the main one https://github.com/asterinas/asterinas but it is the first one that came up when I searched.

By the tone of your post you might just want to watch the world burn in which case I'd raise an issue in that repo saying "Rewrite in C++ for compatibility with wider variety of CPU archs" ;)

[–] muusemuuse@lemm.ee 3 points 1 day ago* (last edited 1 day ago)

I'm of the opinion that a full rewrite in rust will eventually happen, but they need to be cautious and not risk alienating developers ala windows mobile so right now it's still done in pieces. I'm also aware that many of the devs who sharpened their teeth on the kernel C code like it as it is, resist all change, and this causes lots of arguments.

Looking at that link, I'm not liking the MPL.

[–] gandalf_der_12te@discuss.tchncs.de 11 points 2 days ago* (last edited 2 days ago) (3 children)

I'm not sure whether this should be a "standard", but we need a Linux Distribution where the user never has to touch the command line. Such a distro would be beneficial and useful to new users, who don't want to learn about command line commands.

And also we need a good app store where users can download and install software in a reasonably safe and easy way.

[–] RawrGuthlaf@lemmy.sdf.org 10 points 2 days ago (1 children)

I really don't understand this. I put a fairly popular Linux distro on my son's computer and never needed to touch the command line. I update it by command line only because I think it's easier.

Sure, you may run into driver scenarios or things like that from time to time, but using supported hardware would never present that issue. And Windows has just as many random "gotchas".

[–] lumony@lemmings.world 1 points 2 days ago (1 children)

I try to avoid using the command line as much as possible, but it still crops up from time to time.

Back when I used windows, I would legitimately never touch the command line. I wouldn't even know how to interact with it.

We're not quite there with Linux, but we're getting closer!

load more comments (1 replies)
[–] me@toot.jack.water.house 8 points 2 days ago (2 children)

I think there are some that are getting pretty close to this. Like SteamOS (although not a traditional DE) and Mint.

[–] original_reader@lemm.ee 1 points 1 day ago

Ubuntu as well. I wish I could say OpenSuse...

load more comments (1 replies)
[–] AugustWest@lemm.ee 4 points 2 days ago* (last edited 2 days ago) (1 children)

Why do people keep saying this? If you don't want to use the command line then don't.

But there is no good reason to say people shouldn't. It's always the best way to get across what needs to be done and have the person execute it.

The fedora laptop I have been using for the past year has never needed the command line.

On my desktop I use arch. I use the command line because I know it and it makes sense.

Its sad people see it as a negative when it is really useful. But as of today you can get by without it.

[–] lumony@lemmings.world 1 points 2 days ago (1 children)

It’s always the best way to get across what needs to be done and have the person execute it.

Sigh. If you want to use the command line, great. Nobody is stopping you.

For those of us who don't want to use the command line (most regular users) there should be an option not to, even in Linux.

Its sad people see it as a negative when it is really useful.

It's even sadder seeing people lose sight of their humanity when praising the command line while ignoring all of its negatives.

[–] AugustWest@lemm.ee 1 points 2 days ago* (last edited 2 days ago) (2 children)

lose sight of their humanity

Ok this is now a stupid conversation. Really? Humanity?

Look, you can either follow a flowchart of a dozen different things to click on to get information about your thunderbolt device or type boltctl -list

Do you want me to create screen shots of every step of the way to use a gui or just type 12 characters? That is why it is useful. It is easy to explain, easy to ask someone to do it. Then they can copy and paste a response, instead of yet another screenshot.

Next thing you know you will be telling me it is against humanity to "right click". Or maybe we all should just get a Mac Book Wheel

Look, I am only advocating that it is a very useful tool. There is nothing "bad" about it, or even hard. What is the negative?

But I also said, I have been using a Fedora laptop for over a year and guess what? I never needed the command line. Not once.

load more comments (2 replies)
[–] mactan@lemmy.ml 20 points 3 days ago (1 children)

interoperability > homogeneity

[–] Ferk@lemmy.ml 15 points 2 days ago* (last edited 2 days ago)

interoperability == API standardization == API homogeneity

standardization != monopolization

[–] JuxtaposedJaguar@lemmy.ml 6 points 2 days ago* (last edited 2 days ago) (2 children)

Each monitor should have its own framebuffer device rather than only one app controlling all monitors at any time and needing each app to implement its own multi-monitor support. I know fbdev is an inefficient, un-accelerated wrapper of the DRI, but it's so easy to use!

Want to draw something on a particular monitor? Write to its framebuffer file. Want to run multiple apps on multiple screens without needing your DE to launch everything? Give each app write access to a single fbdev. Want multi-seat support without needing multiple GPUs? Same thing.

Right now, each GPU only gets 1 fbdev and it has the resolution of the smallest monitor plugged into that GPU. Its contents are then mirrored to every monitor, even though they all have their own framebuffers on a hardware level.

[–] Codilingus@sh.itjust.works 1 points 1 day ago (1 children)

So this is why multi monitor support has been a never ending hot mess?!

[–] JuxtaposedJaguar@lemmy.ml 2 points 1 day ago

Yes and no. It would solve some problems, but because it has no (non-hacky) graphics acceleration, most DEs wouldn't use it anyway. The biggest benefit would be from not having to use a DE in some circumstances where it's currently required.

This right here is why i moved to a single display setup.

[–] TrivialBetaState@sopuli.xyz 4 points 2 days ago

While all areas could benefit in terms of stability and ease of development from standadization, the whole system and each area would suffer in terms of creativity. There needs to be a balance. However, if I had to choose one thing, I'd say the package management. At the moment we have deb, rpm, pacman, flatpak, snap (the latter probably should not be considered as the server side is proprietary) and more from some niche distros. This makes is very difficult for small developers to offer their work to all/most users. Otherwise, I think it is a blessing having so many DEs, APIs, etc.

[–] arsCynic@beehaw.org 14 points 3 days ago

Manuals or notifications written with lay people in mind, not experts.

[–] dosse91@lemmy.trippy.pizza 68 points 4 days ago* (last edited 4 days ago) (23 children)

Generally speaking, Linux needs better binary compatibility.

Currently, if you compile something, it's usually dynamically linked against dozens of libraries that are present on your system, but if you give the executable to someone else with a different distro, they may not have those libraries or their version may be too old or incompatible.

Statically linking programs is often impossible and generally discouraged, making software distribution a nightmare. Flatpak and similar systems made things easier, but it's such a crap solution and basically involves having an entire separate OS installed in parallel, with its own problems like having a version of Mesa that's too old for a new GPU and stuff like that. Applications must be able to be packaged with everything they need with them, there is no reason for dynamic linking to be so important in Linux these days.

I'm not in favor of proprietary software, but better binary compatibility is a necessity for Linux to succeed, and I'm saying this as someone who's been using Linux for over a decade and who refuses to install any proprietary software. Sometimes I find myself using apps and games in Wine even when a native version is available just to avoid the hassle of having to find and probably compile libobsoletecrap-5.so

[–] lumony@lemmings.world 1 points 2 days ago

Static linking is a good thing and should be respected as such for programs we don't expect to be updated constantly.

load more comments (22 replies)
[–] ikidd@lemmy.world 24 points 3 days ago* (last edited 3 days ago) (9 children)

Domain authentication and group policy analogs. Honestly, I think it's the major reason it isn't used as a workstation OS when it's inherently more suited for it than Windows in most office/gov environments. But if IT can't centrally managed it like you can with Windows, it's not going to gain traction.

Linux in server farms is a different beast to IT. They don't have to deal with users on that side, just admins.

[–] Lv_InSaNe_vL@lemmy.world 1 points 1 day ago* (last edited 1 day ago)

Ubuntu Server supports Windows Active Directory. I haven't used it for anything but authentication (and authentication works flawlessly) and some basic directory/share permissions but theoretically it should support group policy too.

It'd be cool if there was a mainstream FOSS alternative though (there might be, I've done literally 0 research), but this works okay-ish in the meantime.

But for management of the actual production servers at work I use a combination of ManageEngine (super great and reasonably priced) and Microsoft's Entra (doesn't work well, don't do it)

load more comments (8 replies)
[–] kibiz0r@midwest.social 44 points 4 days ago (1 children)

ARM support. Every SoC is a new horror.

Armbian does great work, but if you want another distro you’re gonna have to go on a lil adventure.

[–] eneff@discuss.tchncs.de 5 points 2 days ago (2 children)

Wouldn't it make more sense to focus on an open standard like RISC-V instead of ARM?

load more comments (2 replies)
[–] purplemeowanon@lemmy.ml 5 points 2 days ago

Standardizing package management? Imagine everyone being stuck with .rpm

[–] SwingingTheLamp@midwest.social 56 points 4 days ago (2 children)

One that Linux should've had 30 years ago is a standard, fully-featured dynamic library system. Its shared libraries are more akin to static libraries, just linked at runtime by ld.so instead of ld. That means that executables are tied to particular versions of shared libraries, and all of them must be present for the executable to load, leading to the dependecy hell that package managers were developed, in part, to address. The dynamically-loaded libraries that exist are generally non-standard plug-in systems.

A proper dynamic library system (like in Darwin) would allow libraries to declare what API level they're backwards-compatible with, so new versions don't necessarily break old executables. (It would ensure ABI compatibility, of course.) It would also allow processes to start running even if libraries declared by the program as optional weren't present, allowing programs to drop certain features gracefully, so we wouldn't need different executable versions of the same programs with different library support compiled in. If it were standard, compilers could more easily provide integrated language support for the system, too.

Dependency hell was one of the main obstacles to packaging Linux applications for years, until Flatpak, Snap, etc. came along to brute-force away the issue by just piling everything the application needs into a giant blob.

load more comments (2 replies)
[–] Mio@feddit.nu 27 points 3 days ago (3 children)

Configuration gui standard. Usually there is a config file that I am suppose to edit as root and usually done in the terminal.

There should be a general gui tool that read those files and obey another file with the rules. Lets say it is if you enable this feature then you can't have this on at the same time. Or the number has to be between 1 and 5. Not more or less on the number. Basic validation. And run the program with --validation to let itself decide if it looks good or not.

[–] lumony@lemmings.world 2 points 2 days ago

Fuckin hate having to go through config files to change settings...

It's always great when settings are easily accessible in a GUI, though! Mad props to the great developers that include them!

load more comments (2 replies)
load more comments
view more: next ›