일부 응용 프로그램은 구성 데이터에 ~/.config/appname을 사용하는 반면 다른 응용 프로그램은 ~/.appname을 사용하는 이유는 무엇입니까?

일부 응용 프로그램은 구성 데이터에 ~/.config/appname을 사용하는 반면 다른 응용 프로그램은 ~/.appname을 사용하는 이유는 무엇입니까?

일부 앱은 구성 파일을 저장하는 반면 다른 앱은 이를 달성하기 위해 (고전적인 방법인 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

더 논란이 많은 대답은 다음과 같습니다.

  • ~/.configXDG 표준의 기본값이며 FreeDesktop.org 표준을 준수하는 응용 프로그램에만 적용됩니다(이 $XDG_CONFIG_HOME변수도 사용함).
  • ~/.appnamefreedesktop 표준이 존재하기 전에 존재했습니다.
  • 모든 사람이 FreeDesktop 표준을 좋아하는 것은 아닙니다.
  • 제 생각에는 "혼잡함"은 $HOME문제가 되지 않습니다.

관련 정보