What is ~/.local directory tree and two executables there?

I find that something has added ~/.local/bin to my $PATH and that the hidden ~/.local folder has the following structure:

.local
├── bin
│   ├── alex
│   └── happy
├── lib
│   ├── aws
│   │   ├── bin
│   │   ├── include
│   │   └── lib
│   └── python3.7
│       └── site-packages
├── share
│   ├── Unity
│   │   ├── 2018.3
│   │   ├── 2019.1
│   │   └── index-local.xml
│   ├── epiphany
│   │   └── localstorage
│   ├── folks
│   │   └── relationships.ini
│   ├── gnome-chess
│   ├── gnome-dictionary
│   ├── gnome-sudoku
│   │   └── finished
│   ├── keyrings
│   ├── recently-used.xbel
│   ├── rstudio
│   │   ├── addin_registry
│   │   ├── bibliography-index
│   │   ├── client-state
│   │   ├── console06
│   │   ├── content_urls
│   │   ├── ctx
│   │   ├── dictionaries
│   │   ├── explorer-cache
│   │   ├── history_database
│   │   ├── jobs
│   │   ├── log
│   │   ├── monitored
│   │   ├── notebooks
│   │   ├── pcs
│   │   ├── presentation
│   │   ├── profiles-cache
│   │   ├── projects
│   │   ├── projects_settings
│   │   ├── rmd-outputs
│   │   ├── rstudio-desktop.json
│   │   ├── rversion-settings
│   │   ├── saved_source_markers
│   │   ├── sdb
│   │   ├── session-persistent-state
│   │   ├── sessions
│   │   ├── sources
│   │   ├── tutorial
│   │   └── viewer-cache
│   └── telepathy
│       └── mission-control
└── var
    └── mathics
        └── mathics.sqlite
  • What is .local used for? Do various apps just dump files there?

In particular, I can recognize traces of some apps there, namely, aws (command line interface to Amazon Web Services) and rstudio. But what led me to ask about this, besides now finding ~/.local in my $PATH are two executables in ~/.local/bin, namely, alex and happy.

  • What are these two executables?

Solution 1:

In the .local hierarchy, programs put user information such as emails and calendar events. You could manually remove this data, but then the program would lose its state

.local is for storing user program data (like locally installed programs), not user data (like photos, calendars etc)

https://askubuntu.com/a/14536/168071

Solution 2:

~/.local is an attempt to provide a standard place to store executables and data for applications ported from Linux. But, yes, it does seem like yet another place for apps to dump files.

In addition I have:

  • ~/.config used by Wireshark and iTerm2,
  • ~/.Bin used by Goodsync and TeamViewer,
  • /usr/local and /opt which are Unix standards used by Homebrew and a few other apps - these are Apple sanctioned locations for system wide apps.

Even if there are multiple 'standard' folders, it is better than each app creating its own folder within ~. I have about 25 of those, like ~/.dropbox and ~/.julia. And even worse the apps that just put configuration files in ~ like the Apple supplied zsh.

Rather like all the stuff in ~/Library (the Apple standard location) it is best to ignore these folders and just assume that the developers know what they are doing!

[Is this an answer or a rant?]