this post was submitted on 25 Jun 2023
815 points (100.0% liked)

Technology

37742 readers
482 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

I wholeheartedly agree with this blog post. I believe someone on here yesterday was asking about config file locations and setting them manually. This is in the same vein. I can't tell you how many times a command line method for discovering the location of a config file would have saved me 30 minutes of googling.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 27 points 1 year ago (3 children)

I'd take it a step further and say that all programs should be completely self-contained in one folder.

[–] [email protected] 23 points 1 year ago (3 children)

That doesn't work well for... well, most software I can think of.

Games: I do not want to backup the entire folder to ensure I have my save files. Modern games are huge. I want my saves to be located somewhere easy to get to (for the average user) and be quick to backup, without having to go in and cherry-pick specific files.
There was a good trend of using Documents/My Games, but sadly that seems to have fractured and now there's also Saved Games, savegames, and some software has moved to using %appdata% or just storing saves in the game install location. There's no consistency, it's a real pain in the hole.

DCC software (Blender, Photoshop, whatever): user preferences and config files. Again, I idon't want to backup the entire software, as I'm likely to reinstall it from an official source when migraing/reinstalling to ensure I have the latest updates. However I do want to be able to backup my preferences or plugins easily.

Any software that allows users to customise it: let me backup those preferences without cloning the entire app.

I do wish there was a standardised folder struture for user data, but it's 2023 and the chances of getting Windows/Max/Nix to agree upon and comform to a generic structure as sadly. The only thing I can think of that's the same across platforms is the .ssh folder.

[–] [email protected] 7 points 1 year ago

I don't think Win/Mac/*nix need to use the same structure across different OSs, but it would be nice if applications used conventional paths for within each of those OSs.

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

The different OSes generally have a prescription for where to put things. Windows is a stickler about Program Files and the only thing that should exist there is install content.

My Games and Saved Games is a remnant of times past when they were trying to figure out where to put that stuff. Generally, %Appdata% is where they recommend storing config and files that your application may mutate over time. e.g save files or logs

They just decided it didn't make sense to break that stuff up and not every application dev has caught up to that.

For Mac, the /Library/Application \Support directory is where config files should live. Though some apps support /Users//.config for account level configs.

For Linux, as others have pointed out, /etc for global config or /home//.config for account level config.

The frustration about not knowing where to find things either comes from not knowing the standards or developers not following them. (Or Microsoft changing them every 2 versions)

Edit: Mac uses Users not home.

[–] [email protected] 1 points 1 year ago (1 children)

Yep. My main gripe is that due to various developers not catching up with new standards, a users files can be scattered all over the place.

I appreciate that - in theory - %appdata% should contain just a users files, but a number of apps also use it to store program data leading to a huge folder size. My own is >100GB, with some of the largest offenders being python and node dependencies that are not specific to myself, and could really be cached somewhere else.

[–] [email protected] 1 points 1 year ago

Oh yeah, app data where every goddamn thing loves downloading cached files.

[–] [email protected] 2 points 1 year ago

What if they stored the literal files under the installation folder but then linked them under other folders classed as either Saves/configs/creations.

In theory we just need to standardize those few classifications and people could decide where that type of files can be found, always under a folder of the name of the program.

I feel with modern computing it doesn’t really make sense to only find certain files in a single location. The structure you use to create and save digital art may be wholy different from the one you use to browse/show/upload your art. I like to have all my game installations easily accessible for modding but i hate if i had to to use it to launch a game trough the exe. In a way other software may already cater to this need but its often bloated and far from standardized.

While were at it allow people to set a display name for program what they like during installations and if i want to install sm multiple times, why not allow it. the os just remembers what there actually called if other software looks for it, in case of multiple it could ask which one to use.

Of course i can dream what i want, creating new standards is probably one of the hardest thing to agree on and get done.

[–] [email protected] 16 points 1 year ago (3 children)

This is the big thing I miss from my “pre-Unix” Mac days. In OS9 and earlier, apps were self contained, and didn’t spread their garbage everywhere. You deleted an app, you deleted all the app. Granted, there was a tradeoff (the parade of conflicting control panels and extensions you had to manually diagnose when your machine went sideways) but I never understood why in the Windows and Linux worlds devs would code so sloppily. Who told that dev my Documents folder is where their nonsense needs to go? That Documents folder is for my use, not theirs.

Still salty after all these years

[–] [email protected] 13 points 1 year ago (3 children)

I use linux and this annoys me to, every program just spams my home directory with config files, even though .config and .cache exist and are the standard

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

Set XDG_CONFIG_HOME= in your environment and most tools follow it

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

I have, unfortunatly a lot of programs dont.

[–] [email protected] 2 points 1 year ago
[–] [email protected] 2 points 1 year ago

Programming tools/IDEs seem especially egregious.

.android
.cargo
.choosenim
.conda
.emacs.d
.nimble
.npm
.rustup
[–] [email protected] 2 points 1 year ago

Run ls -al | wc -l to see the mess. If you can get it below 25, you have a clean setup.

[–] [email protected] 1 points 1 year ago (1 children)

Who told that dev my Documents folder is where their nonsense needs to go? That Documents folder is for my use, not theirs.

Microsoft did for a while. 😜

[–] [email protected] 1 points 1 year ago

There are so many places that games decide to put their save files on Windows.

I've got save directories in:

  • %HOMEDRIVE%%HOMEPATH%\Saved Games (only Elite Dangerous)
  • Documents (Mass Effect Andromeda, X4: Foundations, EVE Online, GreedFall, Wo Long: Fallen Dynasty, SteamVR)
  • Documents\My Games
  • %APPDATA%
  • %LOCALAPPDATA%
  • %APPDATA%..\LocalLow (does not seem to have an environment variable defined for this one)
  • Various game install directories

There's probably other places. Not sure how much the registry is used for saves, either, but that would complicate backups more than they already are.

I'd love if they just unify save and config data for games to %APPDATA%. Documents should never be touched by software without the user's explicit consent, though, and because of the situation, the Documents directory is the last place I ever put actual documents.

[–] [email protected] 5 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (1 children)

Isn't this what updates are for? maybe I'm misunderstanding what you mean by static libraries.

[–] [email protected] 7 points 1 year ago (1 children)

@TheBaldness
When you bundle everything for an app inside a self-contained directory, it's no different than static linking a binary.

An exploit in a library the package links against means that application is still vulnerable even if the same library on the operating system has been updated to fix the security flaw.

[–] [email protected] 1 points 1 year ago (1 children)

Apple managed to do it for a long time. I imagine they update the app more frequently than they would otherwise.

[–] [email protected] 1 points 1 year ago

@TheBaldness
For apps that Apple controls that may be fine, but most people do not get their apps from a single vendor and not all vendors are fast at pushing updates.