Ejemplo:en Ubuntu, siempre hay un .local
directorio en el directorio de inicio y .profile
incluye esta línea:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
$HOME/.local/bin
no existe por defecto, pero si se crea ya está en $PATH
y ejecutables dentro se pueden encontrar.
Esto no se menciona exactamente en la especificación del directorio XDG, pero parece derivarse de él.
Lo que me pregunto es si esto es lo suficientemente común como para suponer que existe en las distribuciones de usuarios finales más comunes. ¿Está, por ejemplo, en todos los derivados de Debian, o al menos en los de Ubuntu? ¿Qué tal el ecosistema Red Hat/Fedora/CentOS? Y así sucesivamente con Arch, Suse y lo que la gente usa hoy en día.
Para ser más claro, esto es solo para $HOME/.local/bin
, no $HOME/bin
.
Por curiosidad, no dude en incluir BSD, OS/X y otros si tiene la información. 🙂
Respuesta aceptada:
El ~/.local
directorios es parte de la especificación de jerarquía de archivos systemd y es una extensión de la especificación xdg user-dirs
Puede ser confuso como paquetes derivados de Debian para bash
perdió el ~/.local
ruta cuando cambiaron su base a bash 4.3, la tenían en bash 4.2.
Es un error, y un parche ha estado sentado en el sistema Debian por un tiempo ahora.
Este error es la razón por la que Ubuntu 16.04 tenía ~/.local en la ruta y Ubuntu 17.04 no.
Si ejecuta systemd-path
como usuario y verá que está destinado a estar en la ruta.
$ systemd-path user-binaries
/home/foo/.local/bin
En teoría, la respuesta a su consulta es Cualquier distribución que use systemd o quiera mantener la compatibilidad con systemd.
Hay más información en file-hierarchy(7)