일부 앱은 구성 파일을 저장하는 반면 다른 앱은 이를 달성하기 위해 (고전적인 방법인 AFAIK)를 ~/.config/appname
사용하는 것으로 나타났습니다 . ~/.appname
이 구별의 의미는 무엇입니까? 지원 시 어떤 점을 고려하는 것이 더 좋나요?
업데이트: 내 (XUbuntu 11.10 기본값) $XDG_CONFIG_HOME이 로 설정되어 있고 ~/
내 시스템의 대부분의 응용 프로그램(예: Mozilla Firefox, Adobe Flash Player, Midnight Commander, Opera, Wine 등)이 이를 따릅니다. 하지만 여전히 사용 중인 애플리케이션(예: Compiz, Deadbeef, VLC, Qt Creator, Google Chrome, XFCE 등)이 있습니다 ~/.config/
. 또 다른 의심스러운 점은 디렉터리 자체가 ~/.config/
숨겨져 있지 않다는 것입니다(이름에 점이 없음). 응용 프로그램 구성 디렉터리가 위치($XDG_CONFIG_HOME 값)와 관계없이 고유한 상수 이름을 가질 것으로 예상합니까?
답변1
귀하의 질문 중 일부를 해결하는 Jasonwryan의 훌륭한 답변에 추가되었습니다.
당신
$XDG_CONFIG_HOME
은아니요설정~/
. 전혀 설정되어 있지 않습니다. 그러니 신청하세요XDG 사양을 따르세요기본값 사용~/.config
내부 디렉토리는
/.config
필요하지 않기 때문에 숨겨지지 않습니다. dir을 사용하는 전체 목적~/.config
은 다음과 같습니다.정돈하다사용자의$HOME
.사양을 따르지 않는 소프트웨어(불행히도 여전히 대다수)는 숨겨진 디렉터리를 설정으로 사용합니다(예
~/.myapp
: )시도사용자의$HOME
.그것은 작동하지만 예를 들어 설정과 "빅 데이터"(예: 사진, 비디오, 음악)를 별도로 백업하려고 할 때 여전히 나쁜 접근 방식입니다. 사용자 데이터와 혼합되지 않고 모든 설정을 한 곳에 두는 것이 더 나은 접근 방식입니다.에 관해서는"
XDG_CONFIG_HOME
어디를 가리켜도 변하지 않는 이름을 가져라", 그들은 이미 이것을 하고 있습니다: 그것은appname
아니요주요 포인트. 기억하세요: 사용된$HOME/.appname
것소홀히 하다XDG 사양에서는 하드코딩된 경로를 사용합니다.귀하의 지원서에 관해서는,XDG 표준을 사용하십시오! 여러분의 사용자는 자신의 홈 디렉토리를 더 이상 복잡하게 만들지 않은 것에 대해 감사할 것입니다.
답변2
프로필을 배치하는 애플리케이션은 $HOME
무시 하기 때문에XDG 기본 디렉토리 사양, 특히:
사용자별 구성 파일이 기록되는 기본 디렉터리가 있습니다. 이 디렉토리는 환경 변수 $XDG_CONFIG_HOME에 의해 정의됩니다.
$XDG_CONFIG_HOME이 설정되지 않았거나 비어 있는 경우 $HOME/.config와 동일한 기본값을 사용해야 합니다.
답변3
더 논란이 많은 대답은 다음과 같습니다.
~/.config
XDG 표준의 기본값이며 FreeDesktop.org 표준을 준수하는 응용 프로그램에만 적용됩니다(이$XDG_CONFIG_HOME
변수도 사용함).~/.appname
freedesktop 표준이 존재하기 전에 존재했습니다.- 모든 사람이 FreeDesktop 표준을 좋아하는 것은 아닙니다.
- 제 생각에는 "혼잡함"은
$HOME
문제가 되지 않습니다.