Hay varios archivos de configuración ocultos en mi directorio de inicio:
- algunos de ellos están en
~/
(por ejemplo~/.cinnamon
) - algunos de ellos están en
~/.config/
(por ejemplo~/.config/cinnamon-session
) - algunos de ellos están en
~/.local/share/
(por ejemplo~/.local/share/cinnamon-session
)
¿Cuál es la lógica sobre dónde residen los archivos de configuración del hogar?
a) ¿Cuál es la diferencia entre archivos ocultos en estos tres lugares?
b) ¿Qué significa exactamente "local" en este contexto, frente a configuración, frente a hogar?
c) En el directorio de inicio, ¿hay también otros directorios de configuración comunes importantes utilizados por múltiples aplicaciones?
Debian 8.6 Canela 2.2.16
Respuesta1
Hay una larga historia aquí en lo que respecta al caso general de los "archivos punto", pero el $HOME/.config
y$HOME/.local
que usted menciona específicamente tienen un origen en elEspecificación del directorio base XDG.
$HOME/.config
es donde van los archivos de configuración por usuario si no hay ningún archivo$XDG_CONFIG_HOME
.$HOME/.cache
es donde van los archivos de caché por usuario si no hay un archivo$XDG_CACHE_HOME
.$HOME/.local/share
es donde van los archivos de datos por usuario si no hay un archivo$XDG_DATA_HOME
.
Los usuarios de Windows pueden reconocer esto como un paralelo de lo que Microsoft ha tenido en Windows NT desde la versión 4 (aunque los nombres cambiaron en la versión 6.0):
%USERPROFILE%/AppData/Local/
también conocido como%LOCALAPPDATA%
: dónde van los archivos de datos por usuario para esta máquina%USERPROFILE%/AppData/Roaming/
también conocido como%APPDATA%
: dónde van los archivos de datos por usuario a los que un usuario itinerante puede acceder desde varias máquinas%USERPROFILE%/AppData/Local/Temp/
también conocido%TEMP%
como: dónde van los archivos temporales por usuario
La idea es que los archivos por usuario puedan ser (entre muchas otras cosas)archivos de datos de la aplicación(específico de la máquina o roaming),archivos de configuración de la aplicación,archivos en caché, yarchivos temporalesy las aplicaciones los colocan en subárboles con raíz en estos directorios particulares.
(MacOS tiene un sistema similar donde los usuarios obtienen subárboles "locales de usuario" individuales por usuario en /var/folders
y C
subdirectorios T
para caché y archivos temporales).
Como señala la gente de Arch, hay algunos archivos y directorios "punto" que se han vuelto comúnmente utilizados por varias aplicaciones y es poco probable que coincidan con XDG en el futuro previsible, como $HOME/.ssh
y $HOME/.netrc
.
Otras lecturas
- Waldo Bastian, Ryan Lortie y Lennart Poettering (2010). Especificación del directorio base XDG. Freedesktop.org.
- Chris Jackson (5 de febrero de 2008).¿Dónde debería escribir datos de programa en lugar de archivos de programa?. Receta original Awesomsauce. Microsoft.
- Guía de implementación de gestión de datos de usuarios itinerantes. Biblioteca técnica de Windows Vista. Microsoft Technet.
- https://askubuntu.com/questions/102046/
- https://unix.stackexchange.com/a/555214/5132
- https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
- Lionel Drico (11 de marzo de 2009). Modifique su aplicación para usar carpetas XDG.