# Firefox 147이 XDG 기본 디렉터리 사양을 지원

> Clean Markdown view of GeekNews topic #24518. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24518](https://news.hada.io/topic?id=24518)
- GeekNews Markdown: [https://news.hada.io/topic/24518.md](https://news.hada.io/topic/24518.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-11-21T23:33:02+09:00
- Updated: 2025-11-21T23:33:02+09:00
- Original source: [phoronix.com/news](https://www.phoronix.com/news/Firefox-147-XDG-Base-Directory)
- Points: 1
- Comments: 1

## Topic Body

- **Firefox 147** 버전에서 **XDG 기본 디렉터리 사양** 지원 추가  
- 설정 파일과 캐시가 기존 홈 디렉터리 대신 **표준화된 XDG 경로**로 이동  
- Linux 환경에서 **구성 파일 관리 일관성** 향상  
- 기존 사용자 데이터는 자동으로 새 위치로 **이전 처리** 예정  
- 데스크톱 환경 전반의 **파일 구조 정리와 호환성 개선**에 기여  

---
### Firefox 147의 XDG 기본 디렉터리 지원
- Firefox 147은 **XDG Base Directory Specification**을 준수하도록 변경됨  
  - 이 사양은 Linux 시스템에서 애플리케이션 설정, 캐시, 데이터 파일의 표준 저장 위치를 정의함  
- 기존에는 Firefox가 사용자 홈 디렉터리 내에 `.mozilla` 폴더를 생성했으나, 이제 **`~/.config`, `~/.cache`, `~/.local/share`** 등의 표준 경로를 사용함  
- 이 변경으로 **환경 변수 XDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_DATA_HOME**을 따르는 구조로 전환됨  

### 사용자 데이터 및 마이그레이션
- 기존 Firefox 사용자 데이터는 새 버전에서 **자동으로 XDG 경로로 이전**됨  
- 이전 과정에서 기존 설정이나 북마크 등은 유지되며, 수동 조치가 필요하지 않음  
- 이로써 Linux 사용자들이 **파일 시스템 정리와 백업 관리**를 더 쉽게 수행 가능  

### Linux 생태계에서의 의미
- XDG 사양 준수는 **다른 데스크톱 애플리케이션과의 일관성**을 강화함  
- GNOME, KDE 등 주요 데스크톱 환경과의 **통합성 향상**  
- Firefox가 Linux 플랫폼에서 **표준 친화적 브라우저**로서의 위치를 강화함

## Comments



### Comment 46656

- Author: neo
- Created: 2025-11-21T23:33:03+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=45992829) 
- 드디어 **Mozilla**가 오랜 버그를 수정하기 시작한 것 같음  
  하지만 세부 내용을 보면, [diff 코드](https://hg-edge.mozilla.org/integration/autoland/diff/8a6d6c094cb5a842d415c60bb8395db03b36e531/xpcom/io/nsAppFileLocationProvider.cpp#l1.26)를 보면 **마이그레이션 로직**이 보이지 않음  
  `~/.mozilla`가 존재하면 그대로 쓰고, 없으면 `~/.config/mozilla`를 쓰는 것 같음. `MOZ_LEGACY_HOME=1`을 설정하지 않으면 기존 설정을 잃는 건지 궁금함  
  또 `~/.cache`, `~/.config`, `~/.local/share` 간의 구분이 제대로 되어 있지 않고, 모든 프로필 데이터를 `~/.config`로 옮긴 듯 보임
  - 농담처럼 말했지만, 실제로 **27년 된 버그**가 최근 닫혔음  
    Nightly 버전에 `about:keyboard`가 추가되어 저장, 뒤로가기, 새로고침, 개발자 도구 등 기본 단축키를 직접 수정하거나 비울 수 있게 되었음
  - diff를 보면 `~/.mozilla`가 존재하거나 `MOZ_LEGACY_HOME`이 설정되어 있으면 그대로 사용하고, 그렇지 않으면 `$XDG_CONFIG_HOME/.mozilla`를 쓰는 구조로 보임  
    즉, **데이터를 버리지는 않지만 마이그레이션도 없음**
  - [전체 diff](https://hg-edge.mozilla.org/integration/autoland/rev/8a6d6c094cb5a842d415c60bb8395db03b36e531)를 보면 `~/.cache`는 이미 사용 중이지만 `~/.local/share` 관련 내용은 없음
  - 만약 모든 데이터를 `~/.config`에 넣는다면, 이는 **XDG Base Directory 스펙을 따르는 것과 다름**  
    그래도 홈 디렉터리를 어지럽히는 점파일이 하나 줄어든 건 좋음
  - `.mozilla` 폴더를 완전히 분리하려면 아직 갈 길이 멀다고 생각함  
    지금까지 모든 데이터를 한 폴더에 넣어왔기 때문에, 캐시와 설정, 애플리케이션 데이터를 구분하는 작업이 더 어려울 것 같음

- 이번 변화는 꽤 의미 있는 진전임  
  주요 앱들이 XDG Base Directory를 제대로 따르지 않았는데, **Firefox의 채택**은 다른 프로젝트에도 영향을 줄 수 있음  
  [Arch Wiki 문서](https://wiki.archlinux.org/title/XDG_Base_Directory)도 업데이트가 필요할 듯함
  - OpenSSH 개발자들은 XDG 도입을 **보안 위험**으로 보고 있음  
    `.ssh`는 시스템 접근 권한을 다루기 때문에 설정 경로가 여러 곳으로 흩어지면 관리가 복잡해지고 취약해질 수 있다고 함  
    `.ssh/config`나 `known_hosts`는 XDG로 옮길 수 있겠지만, 일부만 옮기면 dotfile 정리 목적이 흐려짐  
    관련 논의는 [메일링 리스트](https://marc.info/?l=openssh-unix-dev&m=170687803731931&w=2)에 있음
  - 이렇게 간단한 수정인데 아직도 **비준수 앱 목록이 너무 길다**는 게 놀라움  
    PR 하나면 몇 시간 안에 해결될 문제인데 말임
  - 예전에 Debian에서 icedove → thunderbird로 이름이 바뀌었을 때, **설정 경로 충돌**로 큰 혼란이 있었음  
    XDG 구조였다면 설정과 데이터가 분리되어 이런 문제는 없었을 것임
  - Chromium도 여전히 `$HOME/.pki`를 쓰며 홈 디렉터리를 어지럽히고 있음  
    libnss를 제대로 사용하지 않아 생긴 문제인데, QtWebEngine 등 Chromium을 내장한 앱들도 같은 문제를 겪음

- `.mozilla` 폴더는 내 홈 디렉터리에 남은 마지막 **점파일** 중 하나였음  
  이제 정리될 생각을 하니 기쁨  
  `xdg-ninja`라는 도구([링크](https://github.com/b3nj5m1n/xdg-ninja))를 써서 XDG 규칙을 어기는 앱을 찾아낼 수도 있음  
  많은 프로그램이 `~/.config`나 `~/.local`을 하드코딩해서 매번 새로 만들려 하는데, 이런 앱은 피하는 게 좋음
  - 하드링크로 해결할 수도 있겠지만, 환경 변수 사용이 여전히 어려운 부분임  
    XDG_CONFIG_HOME을 가상 경로로 매핑하는 **드라이버 레벨 설정**이 있으면 좋겠음
  - `xdg-ninja`를 처음 알게 되어 고마움  
    홈 디렉터리를 마구 어지르는 프로그램들이 정말 싫음  
    숨김 파일을 직접 수정해야 하는 설정 방식은 이제 지긋지긋함

- 좋은 소식임  
  Firefox는 Windows와 macOS에서는 이미 시스템 폴더를 잘 따르고 있었음  
  Linux는 표준이 없었지만, **XDG 권장사항**을 따르는 건 큰 진전임
- 이제야 제대로 된 시점임  
  모든 소프트웨어가 XDG를 지원해야 함. 처음부터 Firefox가 안 따랐다는 게 놀라움
  - XDG는 Firefox보다 훨씬 나중에 생겼고, 대부분의 기간 동안 **광범위하게 채택되지 않았음**
  - 대부분의 소프트웨어가 XDG를 따르지 않는 이유는, **스펙이 2003년쯤에야 등장했기 때문**임  
    이제 점점 채택이 늘고 있고, 홈 디렉터리가 훨씬 깔끔해질 것임  
    다만 중요한 건 기존 설정을 잃지 않도록 **명확한 마이그레이션 경로**를 제공하는 것임

- 이건 정말 반가운 소식임  
  Gimp 3처럼 오래 기다린 버그였는데, 드디어 해결되어 기쁨
- 최근 Firefox가 **.mkv 지원**도 추가하고 이런 개선도 하는 걸 보면 점점 좋아지고 있음  
  남은 불만은 **하드코딩된 단축키**뿐임
  - Firefox Nightly에 `about:keyboard`가 추가되어 단축키를 직접 수정할 수 있음  
    아직 기본 기능만 있지만 충분히 쓸 만함

- 21년 만에 이런 개선이라니, 늦었지만 반가움 😄
  - 누군가 “왜 이렇게 오래 걸렸냐”고 묻자 개발자가 “시간이 없었다”고 답했다는 일화가 있음  
    21년 동안이라니, 웃음이 나옴
- 처음 이 버그를 보고한 사람이 아직 살아 있을지 궁금함
  - 아마 그 사람의 **손주 세대**가 대신 보고 있을지도 모름

- Firefox는 멀티탭과 메모리 사용 면에서 여전히 **우수한 브라우저**임  
  지난 1년간 렌더링 문제도 거의 없었음  
  앞으로 어떤 오래된 기능이 더 개선될지 기대됨
  - 내 경우엔 가끔 **링크 클릭이 안 되는 문제**가 있음  
    아마 광고 차단기나 SaaS 벤더의 구현 문제일 듯함  
    이런 중요한 사이트에서는 어쩔 수 없이 Safari를 씀
