Có, có một tiêu chuẩn: những điều này được freedesktop.org chỉ định và là một phần của Thông số kỹ thuật thư mục cơ sở XDG .
config-spec chỉ phác thảo các yêu cầu cơ bản, nhưng các chi tiết có trong Thông số kỹ thuật cơ sở. Các thư mục ~/.config
và ~/.cache
mặc định trừ khi được cấu hình khác:
Có một tập hợp các thư mục cơ sở được sắp xếp theo thứ tự liên quan đến các tệp cấu hình nên được tìm kiếm. Tập hợp các thư mục này được xác định bởi biến môi trường $ XDG_CONFIG_DIRS.
Có một thư mục cơ sở duy nhất liên quan đến dữ liệu không cần thiết (được lưu trong bộ nhớ cache) dành riêng cho người dùng. Thư mục này được xác định bởi biến môi trường $ XDG_CACHE_HOME.
...
$ XDG_CONFIG_HOME xác định thư mục cơ sở liên quan đến các tệp cấu hình cụ thể của người dùng sẽ được lưu trữ. Nếu $ XDG_CONFIG_HOME không được đặt hoặc trống, nên sử dụng mặc định bằng $ HOME / .config.
...
$ XDG_CACHE_HOME xác định thư mục cơ sở liên quan đến các tệp dữ liệu không cần thiết cụ thể của người dùng sẽ được lưu trữ. Nếu $ XDG_CACHE_HOME không được đặt hoặc trống, nên sử dụng mặc định bằng $ HOME / .cache.
Bạn có thể nhận thấy các thông số kỹ thuật này chủ yếu nêu rõ nơi dữ liệu nên được lưu trữ, biến môi trường nào được sử dụng và theo cách thức nào (trung lập với máy tính để bàn, hiệu quả, v.v.), nhưng hầu hết các máy tính để bàn đều tự do thực hiện phần "làm thế nào" của nó. Các máy tính để bàn dựa trên Gnome sẽ sử dụng gsettings
khi người dùng KDE có thể sử dụng cùng thông qua kwriteconfig
, nhưng cả hai sẽ dựa vào ~/.config
thư mục trong quy trình
Câu hỏi quan trọng
Làm thế nào để tôi biết đây là một thư mục được hỗ trợ chính thức và không chỉ là hương vị của vị trí tháng cho bộ nhớ cache / cấu hình cho mỗi người dùng?
Các thư mục này xuất hiện trong tài liệu chính thức và Tiêu chuẩn phân cấp hệ thống tập tin cũng đề cập đến chúng. Đây là tài liệu chính thức, do đó các thư mục được hỗ trợ chính thức.
Đây có phải là một cái gì đó tôi chỉ nên chấp nhận như là một địa điểm thực hành tiêu chuẩn không nêu?
Phụ thuộc vào ứng dụng bạn đang tạo. Là ứng dụng được cho là có thể cấu hình trên cơ sở mỗi người dùng hoặc hoạt động ổn định trong toàn hệ thống? FHS cho chúng ta biết rằng đối với những thứ trên toàn hệ thống, chúng ta nên sử dụng /etc
hoặc /usr/local
, nhưng các thư mục XDG nên được sử dụng cho các cấu hình dành riêng cho người dùng - ~/.cache
và ~/.config
. Tất nhiên, nếu ứng dụng không phụ thuộc vào cài đặt dành riêng cho người dùng, / var / cache có thể được sử dụng thay cho thư mục theo người dùng. Tất nhiên, bạn luôn có thể có một ~/.appname.conf
tệp, một ~/.appname.db
hoặc ~/.appname/
thư mục để giữ cấu hình và bộ đệm ở đó, nhưng điều đó sẽ không chuẩn; không "xấu" - chỉ là không chuẩn.
Xem thêm