Email or username:

Password:

Forgot your password?
Yarmo 🕊

Dear Linux desktop apps, you have full authorization to create a folder in my ~/.config directory, you are even invited to stuff your data in my ~/.local/share directory, and let's not forget about that ~/.cache y'all! Wunderbar! Much freedom!

So, now, please repeat after me:

👏 I 👏 SHALL 👏 NOT 👏 MAKE 👏 A 👏 FOLDER 👏 IN 👏 YOUR 👏 HOME 👏 DIRECTORY 👏

Thank you kindly

89 comments
Paul Wilde
@joel @yarmo I was just about to say exactly the same thing
@thunderbird - you're a culprit I'm afraid! (Firefox is too though)
Ryuno-Ki

@yarmo
There use to be some XDG environment variables if I recall correctly…

censored for “transphobia”

@joel @yarmo No app has gone as low as #Keybase, which took the liberty of creating “/keybase” (yes, that’s in the ROOT folder), ultimately taking the gold in simultaneously demonstrating the incompetence, arrogance, & exaggerated self-importance of those developers.

FoolishOwl

@koherecoWatchdog @joel @yarmo They're the worst. Their first app did that as well. It was supposed to simplify GPG public key sharing. They modified the key by adding tags to it, not only without asking permission, but without even telling you. I've literally advised groups not to use their software because they so thoroughly disregard basic standards.

censored for “transphobia”

@FoolishOwl @yarmo @joel I took them seriously at first b/c I thought #Keybase was just a key exchange/ID management service that gave a web client means for those w/out pgp to contact me. But it turned out that was just a foot-in-the-door shenannigan as they tried to become yet another full blown social media platform. The devs lacked the security street wisdom that was needed. lemmy.ml/post/31190

Charles Pence

@yarmo It drives me batty that Zotero, which is otherwise such a fantastic program, does this. You can override it, but you've got to get into advanced configs to do it.

Sylvhem

@pence I opened a post on their forums years ago about that 😭.

@yarmo

Yarmo 🕊

I feel like making a side project to call out the pieces of software that do this unrespectful shit.

::spe5hul_Sp1c3::

@yarmo My worst offender is Syncthing. Maybe its just me but for the life of me I can't figure out how it's supposed to work.

Every time i just want it to sync a folder from desktop to phone, it ends up creating brand new folders on both. Its so frustrating, and I just keep reminding myself " 😖big ooof but at least its free and open source" lol

Yarmo 🕊

@iridescentFluid in Syncthing's settings, you can set a default directory in which to place new synced folders. So while the default is "bad", it can be configured to your liking.

I say "bad" because you actually need easy access to Syncthing's data, that's its whole purpose. But I suppose ~/Documents/Sync or something would be a better default.

::spe5hul_Sp1c3::

@yarmo I suppose I may be using it wrong, I really just want folder A to to have all the files folder B does. That is, I dont want new folders anywhere, I just want one folder to be a mirror of the other, like rsync.

I guess my biggest complaint is that the documentation is super confusing when all i really just want a quick and easy file transfer/sync app. It ends up being that each time i try to get that done, Syncthing just utterly confuses me since i didnt bother to memorize the GUI.

Coq

@iridescentFluid
When you create a sharing, you can select the (existing) folder to share on your source device.
Then on the target device, when you accept the sharing, you can also select the (existing) folder in which you want the content to be synced.
I miss a browser to find these folders as you have to type /home/me/my/folder and use the auto-completion to find them. But it works (really great)!
@yarmo

::spe5hul_Sp1c3::

@coq @yarmo When i was on KDE I used kdeconnect-cli for local file transfers. Are there any small cli apps for this you might know of? I've been trying to avoid pulling a bunch of K libraries on my current system, but I would like something simpler and more semantic than syncthing.

Coq

@iridescentFluid
I heard KDE Connect has been ported on Gnome. That's all I known.
@yarmo

yosh

@yarmo I swear there was an XDG-related site that already tracked apps that violated the directory specifications, but I can't find it again.

edit: found it! it was actually the arch wiki wiki.archlinux.org/title/XDG_B

Lars Wirzenius

@yarmo One of the reasons I've not gone full XDG-reconfigure to get my home directory under control is the inevitable frustration when so little software would respect my configuration choices.

I'm getting too old for IT.

Caesar

@yarmo Please do that! I'll happily contribute. What's the opposite of an "awesome list"…?

DELETED

@yarmo let's not forget stepping into a folder of ~/GNUstep...

tuxflo

@tychosoft @yarmo I wish I could hit that star button below this Toot more than once.

ɗℯʃƕρʋ

@yarmo Honestly, why even do they have access to that directory (or to any other file that doesn't belong to the application, and wasn't explicitly selected by a user), where also all the passwords and hashes and such are stored?

CMDR Yojimbosan UTC+(12|13)

@deshipu @yarmo The 'app store' or mobile-phone-os approach seems like its catching on.
We need a desktop OS that treats non-core software like a potential threat, rather than an obviously-trusted insider.

CMDR Yojimbosan UTC+(12|13)

@deshipu @yarmo Only sort-of ... Qubes has containers for "a task", and IIRC you can add whatever software you like to that task/domain. (not sure what terminology they use, but each domain is basically a VM+OS, not protected apps)

ɗℯʃƕρʋ

@yojimbo @yarmo I've heard somewhere that originally UNIX was not supposed to have the open() call exposed to user applications -- you could only manipulate the files you got as stdin, stdout and stderr. Then you could add an open() call that required user interaction to select the file -- handled by the system, not the program. It would solve a lot of problems. Unfortunately, the UNIX security focused on protecting the mainframe from the students that used it, not them from each other.

Rodolphe

@deshipu @yojimbo @yarmo I'd say SubgraphOS is closer to that than Qubes is. Qubes is using containers whereas Subgraph uses sandboxing. Linux can already do all that, it just that we're lacking the UI to manage that.

CMDR Yojimbosan UTC+(12|13)

@rodolphe @deshipu @yarmo Cool, I hadn't seen SubgraphOS before.

My first thought is that it's combining security-from-applications with anonymity-from-the-internet using Tor, and I'd rather concentrate on the app security end. github.com/subgraph/oz/wiki/Oz looks like that piece, I'll enjoy reading about it ...

4censord

@deshipu @yarmo apps running in flatpack are like this.
If you want to open a file from the host, you get the system file picker.

Nordern

@yarmo Too complicated. I just ask for sudo so I can put my data into the root directory :P

Snail

@yarmo I thought I was the only one bothered by this.

M. Grégoire

@nm0i @tykayn @yarmo Since version 27.1 (in 2020) #Emacs will use a configuration in ~/.config/emacs/ .

Jonathan Lamothe
@yarmo
Hot take: putting stuff in ~ is no different than dropping it in ~/.config or ~/.local/share. It's just moving the clutter elsewhere.

I hate having to figure out where a given app stashes its data.
FoolishOwl

@yarmo There's one app that immediately creates a folder in my home directory (with a space in the name) before you even get a chance to look at config options.

I can't trust an app that's designed with such disdain for the user.

Longplay Games 🎮

@yarmo A lot of linux apps have been behaving very windows-like lately, and honestly I'm just not having it.

👻 Feufochmar
@yarmo technically, the user can tell where to put the files by using environment variables like $XDG_CONFIG_HOME (~/.config is just the default value). So app not using these are not respecting the user.
Claudius

@yarmo same for Windows. Put it in %APPDATA% or - if you must - also in %USERPROFILE%/.config

Aral Balkan

@yarmo A site educating developers about this would be really useful. Case in point: I started putting data for our apps under ~/.small-tech.org/app-name/… because I saw quite a few other apps doing similar stuff (placing data/config into hidden folders off of ~) and thought it was a convention when I first started releasing CLI apps. Now I know better. Such a site would have helped.

Mr. Teatime

@yarmo

...I'd like to add one exception: IFF the software asks the user first and asks for a pathname (with a ~/.* default).
*sometimes* I'd like to have thoses things where I see them

Yurii Kadirov 🇺🇦

@yarmo Same thing for Windows – app developers love to store data everywhere, but uninstaller doesn't delete this data 🤦🏻‍♂️. Eclipse IDE especially pissed me off, because it must be removed manually, and there's no uninstaller 😤.

Sr. Estegosaurio
@yarmo I'm manually patching apps to stop polluting my home dir.
This is incredibly anoying…
Antanicus

@yarmo from what I gather you haven't encountered the egregiuos crime that is the "snap" folder yet :D

Giovanni - ZL2GX
@yarmo @antanicus Having a top level ~/snap directory was annoying me too last week, so I figured it has annoyed someone else as well. The simplest (non-ideal) solution I found was to simply hide it.Create a file ~/.hiddenInside it, add 'snap' (without the quotes) on a line by itself.Save the fileNow opening Caja (the Ubuntu Mate GUI file browser) no longer shows the ~/snap directory. Works with Nautilus and others apparently.

I was trying to declutter the GUI file system view and this has that effect, although moving ~/snap into ~/.config or ~/.local/share would be better.
@yarmo @antanicus Having a top level ~/snap directory was annoying me too last week, so I figured it has annoyed someone else as well. The simplest (non-ideal) solution I found was to simply hide it.Create a file ~/.hiddenInside it, add 'snap' (without the quotes) on a line by itself.Save the fileNow opening Caja (the Ubuntu Mate GUI file browser) no longer shows the ~/snap directory. Works with Nautilus and others apparently.
Caesar

@yarmo I'm glad it's not just me, this makes me so angry. Though I've kind of given up my crusade against it now... I just counted 47 dotfiles in my home folder that shouldn't be there. FORTY-SEVEN FFS!!! 🤬

DELETED

@yarmo I like ~/.config/appname . It is also better then ~/.appname/config .

You suggest they all go into /etc and /usr/local/share ?

Shifty Skip

@olamundo @yarmo No, he suggests they go into subdirectories of $HOME (that exist specifically for these purposes) rather than $HOME itself.

As in, ~/.config/app instead of ~/.app

DELETED

@shiftyskip @yarmo Ah, yes, that is the approach I preffer, as well.

DELETED

@yarmo so you want a-a-a-ll applications to respect XDG Base dir specification?! Ain't gonna happen, sorry.

straw
@yarmo part of why I switched to minimalist and CLI applications. when I do ls in my home directory, I don't want half the screen filled up with things that I had no idea existed and don't want there...
Fish Id Wardrobe

@yarmo My simple solution to this: I have a directory in my $HOME which is my actual home. So: ´/home/fishidwardrobe/fishidwardrobe´ I put all my files in there. Now I don't care what crap turns up in $HOME.

amcooper

@fishidwardrobe @yarmo Sheesh that feels drastic but I might try this 😬

amcooper

@fishidwardrobe @yarmo Sheesh that feels drastic but I might try it 😬

Fish Id Wardrobe

@amcooper @yarmo Drastic yes. Simple and easy to maintain, though.

Haijo7 :c-language: :artix:
@yarmo or worse, creating a folder in the directory the app is ran from
Alda Vigdís :topspicy: 🇵🇸

@yarmo Meanwhile at Valve:

"We need to make a subdirectory within ~/Documents for the saved games, right?"

Dhruva Sambrani(Tech)

@yarmo xdg-ninja is a great tool to help you fix those pesky applications which use envars to change the location

Digitual :ablobcatwave:

@yarmo so, may be sometime unification will be done and we'll see lot of folders in only one.

stupidgenius

@yarmo I feel like this is part of a larger trend of M$ bullshit patterns getting brought into Linux.

Dominic

@yarmo same thing on Windows. So many applications that have never heard of %APPDATA%. For their application data.

armin

@yarmo As long as it's prefixed with a ".", I really don't care much. What's worse is those without in your home, though, especially when there's no option to set that location to something different. THAT sucks.

⟨ :stv: | TakeV ⟩

@yarmo Dear linux desktop apps: stop putting your goddamn cache in .config.

Stuart Langridge

@yarmo admittedly some apps make a visible folder because they think it's advertising. But I still wish that these things weren't hidden. Resetting an app's settings to default ought to look like "open up the Preferences folder in my home directory; drag the file called TroublesomeApp to the rubbish bin" (and similarly for caches &c) and that can't happen if everything is hidden away in invisible techie dot folders.

DaVince

@yarmo Similar vibes to Windows games saving data in the Documents directory. Ah, yes, these save games are documents, makes perfect sense!

Cleo Menezes Jr. :verified:

@yarmo Cool, but as you were writing this, a program was `touch ~/garbage` just now. lmao

Cysio :verified_gay:​

@yarmo ah so it's not just me who noticed that his home directory is free for all for most of the apps

Cleo Menezes Jr. :verified:

@yarmo I'm grateful for using Flatpak apps, and generally it doesn't (although there are exceptions)

sadmin

@yarmo
You may want to check out firejail with the private home parameter

razze

@yarmo while it's bad practice, you also don't want to break everyones installations with that change. So You'll need fallback logic and at least test if the home folder has something in the old path.

David Herzog

@yarmo PT: yeahhhhhhhh, leave the home alone. And don't .hide yourself. You are not .git

Go Up