- เพิ่มการรองรับ ข้อกำหนดไดเรกทอรีพื้นฐาน XDG ในเวอร์ชัน Firefox 147
- ไฟล์การตั้งค่าและแคชจะย้ายไปยัง พาธ XDG มาตรฐาน แทนโฮมไดเรกทอรีแบบเดิม
- ช่วยเพิ่ม ความสอดคล้องในการจัดการไฟล์คอนฟิก บนสภาพแวดล้อม Linux
- ข้อมูลผู้ใช้เดิมจะถูก ย้ายไปยังตำแหน่งใหม่โดยอัตโนมัติ
- ช่วยให้ โครงสร้างไฟล์เป็นระเบียบและปรับปรุงความเข้ากันได้ ทั่วทั้งสภาพแวดล้อมเดสก์ท็อป
การรองรับไดเรกทอรีพื้นฐาน XDG ของ Firefox 147
- 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
1 ความคิดเห็น
ความคิดเห็นใน Hacker News
ในที่สุดก็ดูเหมือนว่า Mozilla จะเริ่มแก้บั๊กที่ค้างมานานเสียที
แต่พอดูรายละเอียดแล้ว จาก diff code เหมือนไม่เห็น logic การย้ายข้อมูล
ดูเหมือนว่าถ้ามี
~/.mozillaอยู่แล้วก็จะใช้ต่อไป และถ้าไม่มีจึงจะใช้~/.config/mozillaเลยสงสัยว่าถ้าไม่ได้ตั้งค่าMOZ_LEGACY_HOME=1จะทำให้การตั้งค่าเดิมหายหรือไม่อีกอย่างคือดูเหมือนยังแยก
~/.cache,~/.config,~/.local/shareได้ไม่ถูกต้อง และเหมือนจะย้ายข้อมูลโปรไฟล์ทั้งหมดไปไว้ใน~/.configมีการเพิ่ม
about:keyboardในเวอร์ชัน Nightly ทำให้สามารถแก้ไขหรือล้างคีย์ลัดพื้นฐานอย่างบันทึก ย้อนกลับ รีเฟรช เครื่องมือนักพัฒนา ฯลฯ ได้โดยตรง~/.mozillaอยู่หรือมีการตั้งค่าMOZ_LEGACY_HOMEก็จะใช้แบบเดิม และถ้าไม่มีก็จะใช้$XDG_CONFIG_HOME/.mozillaสรุปคือ ไม่ได้ทิ้งข้อมูล แต่ก็ไม่มีการย้ายข้อมูลเช่นกัน
~/.cacheถูกใช้อยู่แล้ว แต่ไม่มีอะไรเกี่ยวกับ~/.local/share~/.configจริง ก็ถือว่า ไม่เหมือนกับการทำตามสเปก XDG Base Directoryถึงอย่างนั้น อย่างน้อยก็เป็นการลด dotfile ที่ทำให้ home directory รกรุงรังลงไปได้หนึ่งตัว
.mozillaได้อย่างสมบูรณ์เพราะที่ผ่านมาใส่ทุกอย่างไว้ในโฟลเดอร์เดียวมาตลอด งานแยกแคช การตั้งค่า และข้อมูลแอปพลิเคชันออกจากกันน่าจะยากขึ้น
การเปลี่ยนแปลงครั้งนี้ถือว่าเป็นความคืบหน้าที่มีความหมายมาก
แอปหลัก ๆ จำนวนมากยังไม่ได้ทำตาม XDG Base Directory อย่างเหมาะสม และการที่ Firefox นำมาใช้ อาจส่งผลต่อโปรเจกต์อื่นด้วย
ดูเหมือนว่า เอกสารใน Arch Wiki ก็น่าจะต้องอัปเดต
เพราะ
.sshเกี่ยวข้องกับสิทธิ์เข้าถึงระบบ ถ้ากระจาย path ของการตั้งค่าออกไปหลายที่ก็อาจทำให้การจัดการซับซ้อนขึ้นและมีช่องโหว่มากขึ้น~/.ssh/configหรือknown_hostsอาจย้ายไป XDG ได้ แต่ถ้าย้ายแค่บางส่วนก็จะทำให้จุดประสงค์เรื่องการจัดระเบียบ dotfile ไม่ชัดเจนมีการถกเถียงที่เกี่ยวข้องอยู่ใน mailing list
เป็นปัญหาที่น่าจะแก้ได้ในไม่กี่ชั่วโมงด้วย PR เดียวแท้ ๆ
ถ้าเป็นโครงสร้าง XDG ที่แยกการตั้งค่ากับข้อมูลออกจากกัน ปัญหาแบบนี้ก็คงไม่เกิดขึ้น
$HOME/.pkiอยู่และทำให้ home directory รกรุงรังปัญหานี้เกิดจากการไม่ได้ใช้ libnss อย่างถูกต้อง และแอปที่ฝัง Chromium ไว้ เช่น QtWebEngine ก็เจอปัญหาเดียวกัน
โฟลเดอร์
.mozillaเป็นหนึ่งใน dotfile สุดท้ายที่ยังเหลืออยู่ใน home directory ของผมพอคิดว่ามันจะถูกจัดระเบียบเสียทีแล้วก็ดีใจ
ยังสามารถใช้เครื่องมือชื่อ
xdg-ninja(ลิงก์) เพื่อตรวจหาแอปที่ฝ่าฝืนกฎ XDG ได้ด้วยหลายโปรแกรม hardcode
~/.configหรือ~/.localไว้แล้วพยายามสร้างใหม่ทุกครั้ง ดังนั้นควรหลีกเลี่ยงแอปแบบนี้น่าจะดีถ้ามี การตั้งค่าระดับไดรเวอร์ ที่ map
XDG_CONFIG_HOMEไปยัง path เสมือนได้xdg-ninjaผมเกลียดพวกโปรแกรมที่ทำให้ home directory รกเละเทะจริง ๆ
เบื่อเต็มทนกับวิธีตั้งค่าที่ต้องไปแก้ hidden file โดยตรง
เป็นข่าวดีมาก
Firefox บน Windows และ macOS ทำตามโฟลเดอร์ของระบบได้ดีอยู่แล้ว
ส่วนบน Linux แม้จะไม่มีมาตรฐานตายตัว แต่การทำตาม คำแนะนำของ XDG ก็ถือว่าเป็นความคืบหน้าครั้งใหญ่
ในที่สุดก็ถึงเวลาที่ควรจะเป็นเสียที
ซอฟต์แวร์ทุกตัวควรรองรับ XDG น่าแปลกใจที่แต่แรก Firefox ไม่ได้ทำตาม
ตอนนี้เริ่มมีการนำไปใช้มากขึ้นเรื่อย ๆ และ home directory ก็น่าจะสะอาดขึ้นมาก
แต่สิ่งสำคัญคือควรมี เส้นทางการย้ายข้อมูลที่ชัดเจน เพื่อไม่ให้การตั้งค่าเดิมหายไป
นี่เป็นข่าวที่น่ายินดีจริง ๆ
เหมือนกับบั๊กที่รอกันมานานแบบ Gimp 3 ในที่สุดก็แก้ได้เสียที
ช่วงหลัง Firefox ดูดีขึ้นเรื่อย ๆ ทั้งการเพิ่ม รองรับ .mkv และการปรับปรุงแบบนี้
สิ่งที่ผมยังไม่พอใจเหลืออยู่คือ คีย์ลัดที่ hardcode มา เท่านั้น
about:keyboardใน Firefox Nightly ทำให้แก้ไขคีย์ลัดได้เองตอนนี้ยังรองรับแค่ฟังก์ชันพื้นฐาน แต่ก็ใช้งานได้ดีพอสมควร
ปรับปรุงแบบนี้หลังผ่านไป 21 ปี ช้าไปหน่อยแต่ก็ดีใจ 😄
ยาวนานถึง 21 ปี ฟังแล้วก็อดขำไม่ได้
สงสัยว่าคนที่รายงานบั๊กนี้เป็นคนแรกยังมีชีวิตอยู่ไหม
Firefox ยังเป็น เบราว์เซอร์ที่ยอดเยี่ยม ในเรื่องการเปิดหลายแท็บและการใช้หน่วยความจำ
ตลอด 1 ปีที่ผ่านมาแทบไม่มีปัญหาเรื่องการเรนเดอร์เลย
เลยอยากรู้ว่าฟีเจอร์เก่า ๆ ตัวไหนจะถูกปรับปรุงต่อไปอีกในอนาคต
น่าจะเป็นปัญหาจาก ad blocker หรือการ implement ของ SaaS vendor
กับเว็บสำคัญแบบนี้ก็เลยจำใจต้องใช้ Safari