Evet, bir standart var: bunlar freedesktop.org tarafından belirtilmiştir ve XDG Temel Dizin Spesifikasyonlarının bir parçasıdır .
config-spec yalnızca temel gereksinimleri açıklar, ancak ayrıntılar Temel Dizin Spesifikasyonları'ndadır. ~/.config
Ve ~/.cache
yapılandırılmış sürece dizinleri varsayılan şunlardır:
Hangi yapılandırma dosyalarının aranması gerektiğine ilişkin bir dizi tercihli sıralı dizin vardır. Bu dizin kümesi $ XDG_CONFIG_DIRS ortam değişkeni tarafından tanımlanır.
Kullanıcıya özel zorunlu olmayan (önbelleğe alınmış) verilerin yazılacağı tek bir temel dizin vardır. Bu dizin $ XDG_CACHE_HOME ortam değişkeni tarafından tanımlanır.
...
$ XDG_CONFIG_HOME, kullanıcıya özgü yapılandırma dosyalarının saklanması gereken göreli temel dizini tanımlar. $ XDG_CONFIG_HOME ayarlanmamış veya boşsa, $ HOME / .config değerine eşit bir varsayılan değer kullanılmalıdır.
...
$ XDG_CACHE_HOME, kullanıcıya özel gerekli olmayan veri dosyalarının saklanması gereken göreli temel dizini tanımlar. $ XDG_CACHE_HOME ayarlanmamış veya boşsa, $ HOME / .cache değerine eşit bir varsayılan değer kullanılmalıdır.
Bu spesifikasyonların çoğunlukla verilerin nerede depolanacağını, hangi ortam değişkenlerinin kullanıldığını ve hangi şekilde (masaüstü nötr, verimli vb.) Olduğunu görebilirsiniz, ancak çoğu masaüstü bilgisayar "nasıl" bölümünü uygulamada serbesttir. GNOME tabanlı masaüstü bilgisayarlar, gsettings
KDE kullanıcılarının aynı şekilde kullanabileceği yerlerde kullanacak kwriteconfig
, ancak her ikisi ~/.config
de işlemdeki dizine güvenecek
Soru anahtar noktaları
Bunun, kullanıcı başına önbellek / yapılandırma için yalnızca ay konumunun bir çeşidi değil, resmi olarak desteklenen bir klasör olduğunu nasıl bilebilirim?
Bu dizinler resmi belgelerde yer alır ve Dosya Sistemi Hiyerarşi Standardı da bunlardan bahseder. Bu resmi belgelerdir, dolayısıyla klasörler resmi olarak desteklenmektedir.
Bu, sadece belirtilmemiş standart uygulama yeri olarak kabul etmem gereken bir şey mi?
Oluşturduğunuz uygulamaya bağlıdır. Uygulama kullanıcı başına yapılandırılabilir mi yoksa sistem üzerinden sürekli mi çalışıyor? FHS bize, sistem genelindeki şeyler için kullanmamız gerektiğini /etc
veya /usr/local
XDG dizinlerinin kullanıcıya özel yapılandırmalar için kullanılması gerektiğini söyler - ~/.cache
ve ~/.config
. Tabii ki, uygulama kullanıcıya özgü ayarlara bağlı değilse, kullanıcı başına dizin yerine / var / cache kullanılabilir. Tabii ki, konfigürasyonları ve önbelleği orada tutmak için her zaman tek bir ~/.appname.conf
dosya, bir ~/.appname.db
veya ~/.appname/
dizine sahip olabilirsiniz , ancak bu standart değildir; "kötü" değil - sadece standart dışı.
Ayrıca bakınız