AppData folder: am I a joke to you?
I realize that the OP is a Windows case, but I’d be rich if I had a penny for every time a savegame or config file is stored somewhere totally whack.
I’m completely self-taught when it comes to Linux, so I have some obvious gaps in my knowledge. I’ve looked for good write-ups on how Linux folders are intended for use and been unable to find a good resource. Thank you for sharing the official standard name. Reading up on it now.
That’s respectable! But yeah, the FHS is something that’s surprisingly hard to find in-depth information about if you don’t already know about it.
I think this page from systemd (or this page from the arch wiki, if you prefer formatting) has a decent description of not only the FHS, but also the more standard user/home structures.
.android
is either from the Android SDK, or possibly Android Studio so blame either Google or IntelliJ..vscode
is Visual Studio Code which is made by Microsoft so your guess is as good as mine on that one..eclipse
is Eclipse and is a Java IDE approximately the age of dirt and might actually pre-date the AppData folder existing..ssh
is OpenSSH and has been around long enough on the *nix side of things that it might pre-date both AppData and the XDG folder conventions. Not sure about most of the rest.Everyone here is talking about conventions used on Linux, but this looks like Windows Explorer to me…?
Why are there so many directory names in there following Linux “hidden file” conventions, if that’s the case?If you write cross-platform software, the easiest solution is usually to pretend everything’s Unix. You’ll hit some problems (e.g. assuming all filesystem APIs always use UTF-8 will bite you on Windows, which switched to UCS2 before UTF-8 or UTF-16 were invented, so now uses UTF-16 for Unicode-aware functions as that’s the one that’s ABI compatible with UCS2, and passing UTF-8 to the eight-bit-char functions requires you to opt into that mode explicitly), but mostly everything will just work. There’s no
XDG_CONFIG
telling you to put these files anywhere in particular, as Windows is Windows, so most things use~
as a fallback, which Windows knows to treat asUSERPROFILE%
.)
This is not a Linux or Windows thing. It’s a lazy developer thing. It’s also another one of the ways that some devs will coddle the end-user because “learning a file directory system is hard.”
They are using windows wrong, put everything on the desktop and don’t worry about all those scary files everywhere else.
/S
The guidelines for Windows developers kinda suck tbh. Maybe it’s better these days, but plenty of weird legacy software behaviour can be blamed on MSDN.
This is why i never use the default folders, I will always make my own elsewhere.
AFAIK appdata are stored in ~/.local/share, but you don’t even have that folder!?!?!
It’s not the Linux convention that’s fucked up in this regard, but your system.
If you want it stored in ~/AppData, you need to make a link to it from ~/.local/share.I’m no expert, so there may be other ways to do it. but apparently your system doesn’t follow conventions.
He’s using Windows
He’s using windows.
But while we’re on the subject, ~/.local/share is cancer and shouldn’t exist.
The appropriate path is /usr/share.
I have a SystemD service that will erase anything written to that godforsaken .local folder, and if that breaks your shitty software then I’ll assume your shitty software doesn’t work and delete it and spam issues about it until you fix it or find a different career doing something productive, like cooking McRibs.
/usr/share? How is a random app getting write permissions to that?
I’m a little confused by that statement. Where should locally installed (non-sudo) applications, such as virtual python envs who are accessed by multiple other not-necessarily-python apps or perhaps baloo, flatpak, etc, store their shared data? I’m rather convinced that giving all users write access to /usr/share is a terrible idea.
I have a SystemD service
The irony is how lennart and his cancer approached standards, top to bottom.
Now I want McRibs.
I even have a couple of things that found ~/.local but missed /share
deleted by creator
True on linux, but not on Windows. There is the “Appdata” (Application Data) sub folder for that. The users profile is meant for the users personal files - but way too many apps ignore that.
Makes me think that probably a multiplatform-compat library points the apps there?
No, not true on Linux. We have the XDG folder specifications to specifically not have our ~ cluttered with random shit.
Doing this on Linux is no better than doing it on Windows.
TIL; good to know, thank you!
I mean… those are hidden by default
Who actually keeps hidden folders hidden? It’s like the first box I check when I open a file explorer for the first time.
That doesn’t make it better though. App data should be under app data, either roaming or local depending on use.
still. it’s the year 2025. XDG_CONFIG should be the standard assumption
I don’t think so. If they were, they’d look shaded like the AppData folder does.