1P by GN⁺ 13일전 | ★ favorite | 댓글 1개
  • 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 플랫폼에서 표준 친화적 브라우저로서의 위치를 강화함
Hacker News 의견
  • 드디어 Mozilla가 오랜 버그를 수정하기 시작한 것 같음
    하지만 세부 내용을 보면, diff 코드를 보면 마이그레이션 로직이 보이지 않음
    ~/.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를 보면 ~/.cache는 이미 사용 중이지만 ~/.local/share 관련 내용은 없음
    • 만약 모든 데이터를 ~/.config에 넣는다면, 이는 XDG Base Directory 스펙을 따르는 것과 다름
      그래도 홈 디렉터리를 어지럽히는 점파일이 하나 줄어든 건 좋음
    • .mozilla 폴더를 완전히 분리하려면 아직 갈 길이 멀다고 생각함
      지금까지 모든 데이터를 한 폴더에 넣어왔기 때문에, 캐시와 설정, 애플리케이션 데이터를 구분하는 작업이 더 어려울 것 같음
  • 이번 변화는 꽤 의미 있는 진전임
    주요 앱들이 XDG Base Directory를 제대로 따르지 않았는데, Firefox의 채택은 다른 프로젝트에도 영향을 줄 수 있음
    Arch Wiki 문서도 업데이트가 필요할 듯함

    • OpenSSH 개발자들은 XDG 도입을 보안 위험으로 보고 있음
      .ssh는 시스템 접근 권한을 다루기 때문에 설정 경로가 여러 곳으로 흩어지면 관리가 복잡해지고 취약해질 수 있다고 함
      .ssh/configknown_hosts는 XDG로 옮길 수 있겠지만, 일부만 옮기면 dotfile 정리 목적이 흐려짐
      관련 논의는 메일링 리스트에 있음
    • 이렇게 간단한 수정인데 아직도 비준수 앱 목록이 너무 길다는 게 놀라움
      PR 하나면 몇 시간 안에 해결될 문제인데 말임
    • 예전에 Debian에서 icedove → thunderbird로 이름이 바뀌었을 때, 설정 경로 충돌로 큰 혼란이 있었음
      XDG 구조였다면 설정과 데이터가 분리되어 이런 문제는 없었을 것임
    • Chromium도 여전히 $HOME/.pki를 쓰며 홈 디렉터리를 어지럽히고 있음
      libnss를 제대로 사용하지 않아 생긴 문제인데, QtWebEngine 등 Chromium을 내장한 앱들도 같은 문제를 겪음
  • .mozilla 폴더는 내 홈 디렉터리에 남은 마지막 점파일 중 하나였음
    이제 정리될 생각을 하니 기쁨
    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를 씀