Ejemplo: en Ubuntu, siempre hay un .localdirectorio en el directorio de inicio e .profileincluye esta línea:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
$HOME/.local/binno existe de forma predeterminada, pero si se crea ya está en $PATHy se pueden encontrar ejecutables dentro.
Esto no se menciona exactamente en la especificación del directorio XDG pero parece derivado 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. ¿Es, por ejemplo, en todos los derivados de Debian, o al menos 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, siéntase libre de incluir BSD, OS / X y otros si tiene la información. :)
fuente

/etc/skel/.profilehasta al menos 14.04 pruebas de la presencia de un usuario$HOME/biny lo agrega aPATHsi existe; en contraste, 16.04 parece agregar ambos$HOME/bine$HOME/.local/binincondicionalmente. No recuerdo haber agregado Ubuntus anteriormente$HOME/.local/bin, pero no veo nada relevante en elbashregistro de cambios del paquete (que supuestamente posee/etc/skel/.profile).Respuestas:
Los
~/.localdirectorios son parte de la especificación de jerarquía de archivos systemd y es una extensión de la especificación de directorios de usuario xdgPuede ser confuso ya que los paquetes derivados de Debian
bashperdieron el~/.localcamino cuando volvieron a bash en bash 4.3 y lo tenían en bash 4.2.Es un error , y un parche ha estado en el sistema Debian por un tiempo.
Este error es la razón por la que Ubuntu 16.04 tenía ~ / .local en la ruta y Ubuntu 17.04 no.
Si se ejecuta
systemd-pathcomo usuario y verá que está destinado a estar en la ruta.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)fuente
En distribuciones basadas en RPM, la situación parece ser así
sudo su -l johndoepero no funcionará si no utiliza el-linterruptor.Si desea ver esos errores ordenados, no olvide votar / comentar sobre ellos, ya que esto resaltaría la importancia del problema.
fuente