I’m curious how software can be created and evolve over time. I’m afraid that at some point, we’ll realize there are issues with the software we’re using that can only be remedied by massive changes or a complete rewrite....
$PATH shouldn’t even be a thing, as today disk space is cheap so there is no need to scatter binaries all over the place.
Historically, /usr was created so that you could mount a new disk here and have more binaries installed on your system when the disk with /bin was full.
And there are just so many other stuff like that which doesn’t make sense anymore (/var/tmp comes to mind, /opt, /home which was supposed to be /usr but name was already taken, etc …).
You missed my point. The reason $PATH exists in the first place is because binaries were too large to fit on a single disk, so they were scattered around multiple partitions (/bin, /sbin, /usr/bin, etc…). Now, all your binaries can easily fit on a single partition (weirdly enough, /usr/bin was chosen as the “best candidate” for it), but we still have all the other locations, symlinked there. It just makes no sense.
As for the override mechanism you mention, there are much better tools nowadays to do that (overlayfs for example).
This is what plan9 does for example. There is no need for $PATH because all binaries are in /bin anyways. And to override a binary, you simply “mount” it over the existing one in place.
I’m not saying we should get rid of $PATH right now. My point is that it was created to solve a problem we don’t have anymore (not enough disk capacity), but we still keep it out of habit.
As a reminder, the discussion is about what should be rewritten from scratch in linux. And IMO, we should get rid of $PATH as there are better options.
By mounting the binary over, I mean something like a bind mount. But in your case of a wrapper script, it doesn’t apply indeed. Though in this case I would simply name the script steam-launcher and call it a day 🙂
Having multiple executables with the same name and relying on $PATH and absolute paths feels hackish to me, but that’s only a matter of preference at this point.
Right now overlays requires elevated privilèges, but ideally it shouldn’t. Rewriting the Linux kernel to implement per user namespaces like plan9 does would allow unprivileged actions from any user (just like if any user was sitting in a container, overlayed from the base system).
I know we’re not there, and that’s not the direction development is going, but this thread is about dreams, right ? 😉
About the XDG specs, they serve a totally different purpose so they’re out of the discussion IMO. I’m not advocating against env variables. Just $PATH which is a workaround as I see it, but your mileage may vary. As for your “issue” with steam, of course this is the best way to solve it. Because of today’s OS limitation. My point is that with a better designed namespacing implementation, there would be more elegant solutions to solve it (and would get rid of the need to use LD_LIBRARY_PATH too, or literally any *_PATH env variable)
endlessh was pretty cool and a more modern version is even better ! I’ll give it a shot !
On a side note, I found a way to trap HTTP connections too while working on my cyb.farm project. The go implementation is ridiculously simple: tarpit.go. It works by providing an endless stream of custom headers to the client, which it is supposed to ingest before getting to the content itself.
When I’m forced to edit text on my phone (eg. to fix a broken server while on the go), I ssh in and fire up ed. This is what takes the less screen space on my already to small screen, and because it’s line oriented the screen doesn’t bounce/resize/screw up when the keyboard appears/disappear.
I see people talking about doas saying it’s just like sudo but with less features. I’m just wondering if there is any situation where you should use doas or if it’s just personal preference.
It’s not about the cost, it’s more about my current situation, storage space, and besides this specific use-case, I have no use for it (and I dont like buying stuff I don’t use).
Both voyager and moonlander are prebuilt, right ? I like the voyager, but might like just a few keys under the thumb compared to my current planck layout.
[Glazier] Magnetic nymph (lemmy.sdf.org)
Window manager: glazier (with many wmutils scripts)...
La France est-elle sur le point de basculer vers la dictature ? - Frustration Magazine (www.frustrationmagazine.fr) French
just make (lemmy.ml)
OpenWellington pt1 (lemmy.sdf.org)
Are there any things in Linux that need to be started over from scratch?
I’m curious how software can be created and evolve over time. I’m afraid that at some point, we’ll realize there are issues with the software we’re using that can only be remedied by massive changes or a complete rewrite....
seer (lemmy.sdf.org)
OpenBSD 7.5 is released?
The download page leads to install75.img, but the front page still says 7.4.
dutch angle (lemmy.sdf.org)
[UPDATE] Could use some recommendations for a (usually) quick typist.
At home I have a Das Keyboard with Cherry MX browns and they feel great. I think this is the quickest I’ve been able to type on any keyboard....
endlessh-go: a Golang SSH tarpit that traps bots/scanners (github.com)
What are your preferred code editors/IDEs to use on Android?
Techno-Male (lemmy.sdf.org)
Is there an advantage of using doas over sudo
I see people talking about doas saying it’s just like sudo but with less features. I’m just wondering if there is any situation where you should use doas or if it’s just personal preference.
Presoldered split keyboard
Hi everyone! I’m planning on getting a split keyboard to replace my planck, but I don’t have a soldering iron....