Ejemplo: en Ubuntu, siempre hay un .local
directorio en el directorio de inicio e .profile
incluye esta línea:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
$HOME/.local/bin
no existe de forma predeterminada, pero si se crea ya está en $PATH
y 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/.profile
hasta al menos 14.04 pruebas de la presencia de un usuario$HOME/bin
y lo agrega aPATH
si existe; en contraste, 16.04 parece agregar ambos$HOME/bin
e$HOME/.local/bin
incondicionalmente. No recuerdo haber agregado Ubuntus anteriormente$HOME/.local/bin
, pero no veo nada relevante en elbash
registro de cambios del paquete (que supuestamente posee/etc/skel/.profile
).Respuestas:
Los
~/.local
directorios 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
bash
perdieron el~/.local
camino 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-path
como 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 johndoe
pero no funcionará si no utiliza el-l
interruptor.Si desea ver esos errores ordenados, no olvide votar / comentar sobre ellos, ya que esto resaltaría la importancia del problema.
fuente