Comprender las ubicaciones de los archivos de configuración de inicio: ~ /, ~ / .config / y ~ / .local / share /

14

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 de dónde viven los archivos de configuración de inicio?

a) ¿Cuál es la diferencia entre los archivos ocultos en estos tres lugares?

b) ¿Qué significa exactamente "local" en este contexto, vs config, vs home?

c) En el directorio de inicio, ¿existen otros directorios de configuración comunes importantes utilizados por múltiples aplicaciones?


Debian 8.6 Cinnamon 2.2.16

Vista elíptica
fuente
1
Algo de esto está cubierto en la Especificación del directorio base de XDG .
StrongBad

Respuestas:

16

Hay una larga historia aquí cuando se trata del caso general de "archivos de puntos", pero los directorios $HOME/.configy $HOME/.localque usted menciona específicamente tienen un origen en la Especificación de Directorio Base XDG .

  • $HOME/.configes donde van los archivos de configuración por usuario si no hay $XDG_CONFIG_HOME.
  • $HOME/.cachees donde van los archivos de caché por usuario si no hay $XDG_CACHE_HOME.
  • $HOME/.local/sharees donde van los archivos de datos por usuario si no hay $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/aka %LOCALAPPDATA%- donde van los archivos de datos por usuario para esta máquina
  • %USERPROFILE%/AppData/Roaming/aka %APPDATA%- donde van los archivos de datos por usuario a los que un usuario itinerante puede acceder desde múltiples máquinas
  • %USERPROFILE%/AppData/Local/Temp/aka %TEMP%- donde van los archivos temporales por usuario

La idea es que cada usuario archivos pueden ser (entre un buen montón de otras cosas) los archivos de datos de aplicación (máquina-específicos o la itinerancia), los archivos de configuración de aplicaciones , archivos almacenados en caché y archivos temporales , y las aplicaciones de las colocan en subárboles con raíces en estos directorios particulares

(MacOS tiene un sistema similar en el que los usuarios obtienen subárboles individual "usuario local" por usuario bajo /var/folderscon Cy Tsubdirectorios de caché y archivos temporales.)

Como señalan las personas de Arch, hay algunos archivos y directorios "dot" que se han utilizado comúnmente por varias aplicaciones y es poco probable que estén de acuerdo con XDG en el futuro previsible, como $HOME/.sshy $HOME/.netrc.

Otras lecturas

JdeBP
fuente