อ่าน 4 นาที
ฟรีเดสก์ท็อป.org
freedesktop.org ( fd.o ) ซึ่งเดิมชื่อX Desktop Group ( XDG ) เป็นโครงการที่ทำงานเกี่ยวกับความสามารถในการทำงานร่วมกันและเทคโนโลยีพื้นฐานร่วมกันสำหรับสภาพแวดล้อมเดสก์ท็อปซอฟต์แวร์เสร...
ฟรีเดสก์ท็อป.org
ประเภทของไซต์ | ระบบบริหารจัดการการพัฒนาซอฟต์แวร์ |
|---|---|
| มีจำหน่ายใน | ภาษาอังกฤษ |
| สร้างโดย | ฮาวอค เพนนิงตัน |
| URL | www.freedesktop.org |
| ทางการค้า | เลขที่ |
| เปิดตัว | มีนาคม พ.ศ. 2543 |
| สถานะปัจจุบัน | ออนไลน์ |
freedesktop.org ( fd.o ) ซึ่งเดิมชื่อX Desktop Group ( XDG ) [ 1 ] [ 2 ]เป็นโครงการที่ทำงานเกี่ยวกับความสามารถในการทำงานร่วมกันและเทคโนโลยีพื้นฐานร่วมกันสำหรับสภาพแวดล้อมเดสก์ท็อปซอฟต์แวร์เสรี สำหรับX Window System (X11) และWaylandบนLinuxและระบบปฏิบัติการที่คล้าย Unix อื่นๆ แม้ว่า freedesktop.org จะสร้างข้อกำหนดสำหรับความสามารถในการทำงานร่วมกัน แต่ก็ไม่ใช่หน่วยงานมาตรฐานอย่างเป็นทางการ[ 3 ]
โครงการนี้ก่อตั้งโดยHavoc Penningtonนัก พัฒนา GNOMEที่ทำงานให้กับRed Hatในเดือนมีนาคม พ.ศ. 2543 โครงการ เดสก์ท็อปโอเพนซอร์สที่ใช้กันอย่างแพร่หลาย เช่น GNOME, Plasma Desktop ของ KDEและXfceกำลังทำงานร่วมกับโครงการ freedesktop.org ในปี พ.ศ. 2549 โครงการได้เผยแพร่Portland 1.0 (xdg-utils) ซึ่งเป็นชุดอินเทอร์เฟซทั่วไปสำหรับสภาพแวดล้อมเดสก์ท็อป[ 4 ] freedesktop.org เข้าร่วมมูลนิธิ X.Orgในปี พ.ศ. 2562 [ 5 ] [ 6 ]เซิร์ฟเวอร์บางส่วนของโครงการนี้ได้รับการโฮสต์โดยมหาวิทยาลัย Portland State [ 7 ]
โครงการที่โฮสต์
freedesktop.org ให้บริการโฮสติ้งสำหรับโครงการที่เกี่ยวข้องหลายโครงการ[ 8 ] [ 9 ]ซึ่งรวมถึง:
ระบบหน้าต่างและกราฟิก
ซอฟต์แวร์ที่เกี่ยวข้องกับระบบจัดการหน้าต่างและกราฟิกโดยทั่วไป
- Cairoคือไลบรารีสำหรับการสร้างกราฟิกแบบเวกเตอร์ พร้อมรองรับการแสดงผลบนอุปกรณ์ต่างๆ
- Direct Rendering Infrastructure (DRI) คือAPI ของ Linuxสำหรับเข้าถึงฮาร์ดแวร์กราฟิก ซึ่งใช้โดยX11 , Wayland compositors , Mesa 3Dเป็นต้น
- Glamor [ 10 ]ไดรเวอร์กราฟิกทั่วไป 2 มิติสำหรับเซิร์ฟเวอร์ X บนชิปเซ็ต กราฟิกที่รองรับAPI OpenGL / EGL / GBM
- Mesa 3Dคือการใช้งาน API กราฟิกหลายตัว เช่นVulkanและOpenGL
- Pixman [ 11 ]เป็นไลบรารีซอฟต์แวร์ระดับต่ำสำหรับการจัดการพิกเซล โดยมีคุณสมบัติต่างๆ เช่น การรวมภาพและการแรสเตอร์รูปสี่เหลี่ยมคางหมู ผู้ใช้รวมถึงไลบรารี Cairo GraphicsและX.Org Server
- Popplerคือไลบรารีสำหรับการแสดงผลไฟล์ PDF
- API เร่งความเร็ววิดีโอ
- Waylandโปรโตคอลที่จะมาแทนที่ X11 คุณสมบัติ: ไม่มีปัญหาภาพฉีกขาด ภาพหน่วง การวาดซ้ำ หรือการกระพริบ
- X.Org Serverคือตัวอย่างการใช้งานอย่างเป็นทางการของโปรโตคอล X11
- XCBซึ่งเป็นตัวทดแทนXlib
- Xephyrเซิร์ฟเวอร์แสดงผล
- wlroots คือไลบรารีWayland compositor แบบโมดูลา ร์
อื่น
- D-Busบัสข้อความคล้ายกับ DCOP (KDE 3) และBonobo (GNOME 2)
- Elektra คือไลบรารีสำหรับการอ่านและเขียนการกำหนดค่า
- FreeTypeไลบรารีสำหรับการแสดงผลข้อความ
- fontconfigคือไลบรารีสำหรับการค้นหาฟอนต์ การแทนที่ชื่อฟอนต์ และอื่นๆ
- fprint คือไลบรารีสำหรับอุปกรณ์อ่านลายนิ้วมือของผู้บริโภค
- Geoclue บริการข้อมูลทางภูมิศาสตร์[ 12 ]
- GNU GRUBซึ่งเป็น แพ็คเกจ บูตโหลดเดอร์จากโครงการ GNU [ 13 ] [ 14 ]
- GStreamerคือเฟรมเวิร์กมัลติมีเดียข้ามแพลตฟอร์ม
- เอ็นจิ้น GTK-Qt คือ เอ็นจิ้น GTK+2ที่ใช้Qtในการวาดองค์ประกอบควบคุมกราฟิกทำให้แอปพลิเคชัน GTK+2 มี รูปลักษณ์และความรู้สึก เหมือนแอปพลิเคชัน KDE
- HAL (Hardware Abstraction Layer) คือเลเยอร์ที่ใช้งานได้สม่ำเสมอในทุกระบบปฏิบัติการ ปัจจุบัน เลิกใช้งานและถูกแทนที่ด้วยudev แล้ว
- kmsconคือคอนโซลเสมือนในพื้นที่ผู้ใช้เพื่อทดแทนคอนโซลของ Linux โดยใช้ไดรเวอร์ KMSและรองรับUnicode
- luitเป็นเครื่องมือที่ใช้โดยโปรแกรมจำลองเทอร์มินัล
- libinput [ 15 ]ไลบรารีสำหรับจัดการอุปกรณ์อินพุตในWayland compositors และจัดเตรียมไดรเวอร์อินพุต X.Org ทั่วไป โดยจะตรวจจับอุปกรณ์ จัดการอุปกรณ์ ประมวลผลเหตุการณ์อุปกรณ์อินพุต และนามธรรมเพื่อลดปริมาณโค้ดอินพุตแบบกำหนดเองที่ compositors จำเป็นต้อง ใช้เพื่อให้ฟังก์ชันการทำงานทั่วไปที่ผู้ใช้คาดหวัง
- PulseAudioคือส่วนหน้าของเซิร์ฟเวอร์เสียงที่ให้บริการการผสมเสียงด้วยซอฟต์แวร์ เสียงผ่านเครือข่าย และการควบคุมระดับเสียงต่อแอปพลิเคชัน
- PipeWireคือเซิร์ฟเวอร์ที่มีความหน่วงต่ำสำหรับจัดการ สตรีม เสียงและวิดีโอที่เป็นมิตรกับแซนด์บ็อกซ์บนLinuxซึ่งมีการใช้งาน PulseAudio, JACKและALSAรวมถึงวิธีการที่ปลอดภัยสำหรับการจับภาพหน้าจอและ การบันทึก หน้าจอในWayland compositor
- Xftคือฟอนต์แบบป้องกันรอยหยัก (anti-aliased) ที่ใช้ ไลบรารี FreeTypeแทนที่จะใช้ฟอนต์ X core แบบเก่า
- pkg-configเป็นโปรแกรมช่วยสร้างแฟล็กสำหรับคอมไพเลอร์และลิงเกอร์เพื่อรวมไลบรารีที่จำเป็น
นอกจากนี้Avahi (ซึ่งเป็นการใช้งาน Zeroconf เวอร์ชัน ฟรี) เริ่มต้นจากการเป็นโครงการของ fd.o แต่ต่อมาได้แยกตัวออกมาเป็นโครงการอิสระ
ข้อกำหนดไดเร็กทอรีฐาน
ข้อกำหนดไดเร็กทอรีพื้นฐาน XDG (XDG BDS) แนะนำตัวแปรต่างๆ ที่ระบุตำแหน่งไฟล์เฉพาะผู้ใช้ที่โปรแกรมใช้[ 16 ]เครื่องมือและแอปพลิเคชันจำนวนมากใช้ตัวแปรเหล่านี้เป็นค่าเริ่มต้น[ 17 ]
ไดเร็กทอรีผู้ใช้
นอกจากตัวแปรที่กล่าวถึงด้านล่างแล้ว XDG BDS ยังระบุด้วยว่าไฟล์ไบนารีในเครื่องของผู้ใช้สามารถติดตั้งลงใน$HOME/.local/bin. ระบบที่สอดคล้องกับข้อกำหนดคาดว่าจะทำให้ไดเร็กทอรีนี้พร้อมใช้งานในตัวแปรสภาพแวดล้อมของCLI [ 16 ]PATH
XDG_DATA_HOME- สำหรับไฟล์ข้อมูลของแอปพลิเคชันของผู้ใช้เอง
- ค่าเริ่มต้นคือ
$HOME/.local/share XDG_CONFIG_HOME- สำหรับไฟล์การกำหนดค่าแอปของผู้ใช้
- ค่าเริ่มต้นคือ
$HOME/.config XDG_STATE_HOME- สำหรับข้อมูลเซสชันแอปเฉพาะผู้ใช้ ซึ่งควรจัดเก็บไว้เพื่อนำกลับมาใช้ใหม่ในอนาคต
- ค่าเริ่มต้นคือ
$HOME/.local/state - อาจรวมถึงบันทึกการใช้งาน ไฟล์ที่ใช้ล่าสุด ข้อมูลเฉพาะแอปพลิเคชัน (เช่น รูปแบบหน้าต่าง มุมมอง ไฟล์ที่เปิด ประวัติการยกเลิก ฯลฯ) คล้ายกับข้อมูลเซสชันที่แอปควรจัดเก็บตามคำขอของตัวจัดการเซสชันของระบบ เช่นตัวจัดการเซสชัน X
XDG_CACHE_HOME- สำหรับไฟล์แคชแอปเฉพาะผู้ใช้
- ค่าเริ่มต้นคือ
$HOME/.cache XDG_RUNTIME_DIR- สำหรับไฟล์รันไทม์ของแอปพลิเคชันเฉพาะผู้ใช้ เช่น ซ็อกเก็ต ซึ่งจะต้องไม่คงอยู่หลังจากการรีบูตและการออกจากระบบ/เข้าสู่ระบบอย่างสมบูรณ์
ไดเร็กทอรีระบบ
XDG_DATA_DIRS- รายการเส้นทางที่เรียงตามลำดับความชอบ โดยคั่นด้วยเครื่องหมายโคลอน เพื่อใช้ค้นหาไฟล์ข้อมูล
- ค่าเริ่มต้นคือ
/usr/local/share/:/usr/share/ XDG_CONFIG_DIRS- เช่นเดียวกับข้างต้น แต่สำหรับไฟล์การกำหนดค่า
- ค่าเริ่มต้นคือ
/etc/xdg/
วัตถุประสงค์ที่ระบุไว้
โครงการนี้มีเป้าหมายเพื่อตรวจจับปัญหาการทำงานร่วมกันได้ตั้งแต่เนิ่นๆ ในกระบวนการ ไม่ใช่เพื่อออกกฎหมายกำหนดมาตรฐานอย่างเป็นทางการ เป้าหมายที่ระบุไว้ ได้แก่:
- รวบรวมข้อกำหนด มาตรฐาน และเอกสารที่เกี่ยวข้องกับการทำงานร่วมกันของเดสก์ท็อป X ที่มีอยู่แล้ว และจัดให้สามารถเข้าถึงได้จากส่วนกลาง
- ส่งเสริมการพัฒนาข้อกำหนดและมาตรฐานใหม่ ๆ เพื่อให้สามารถใช้งานร่วมกันได้ในกลุ่มเดสก์ท็อป X หลาย ๆ ระบบ
- บูร ณาการมาตรฐานเฉพาะเดสก์ท็อปเข้ากับความพยายามกำหนดมาตรฐานในวงกว้าง เช่นLinux Standard BaseและICCCM
- ดำเนินการเกี่ยวกับการนำมาตรฐานเหล่านี้ไปใช้ในเดสก์ท็อป X เฉพาะรุ่น
- ทำหน้าที่เป็นเวทีที่เป็นกลางสำหรับการแลกเปลี่ยนความคิดเห็นเกี่ยวกับเทคโนโลยีเดสก์ท็อป X
- นำเทคโนโลยีที่ส่งเสริมการทำงานร่วมกันของเดสก์ท็อป X และเดสก์ท็อป X อิสระมาใช้ให้มากขึ้น
- ส่งเสริมการใช้งานเดสก์ท็อป X และมาตรฐานเดสก์ท็อป X ให้แก่นักพัฒนาแอปพลิเคชัน ทั้งเชิงพาณิชย์และอาสาสมัคร
- ติดต่อประสานงานกับผู้พัฒนาเคอร์เนลระบบปฏิบัติการโอเพนซอร์ส ระบบ X Window System ระบบปฏิบัติการโอเพนซอร์สต่างๆ และอื่นๆ เพื่อแก้ไขปัญหาที่เกี่ยวข้องกับเดสก์ท็อป
- จัดเตรียมแหล่งเก็บซอร์สโค้ด ( git [ 18 ]และCVS [ 19 ] ) เว็บโฮสติ้งBugzillaรายชื่อผู้รับจดหมาย และทรัพยากรอื่นๆ ให้กับโครงการซอฟต์แวร์เสรีที่ทำงานเพื่อบรรลุเป้าหมายข้างต้น
ดูเพิ่มเติม
แหล่งที่มา
- บทสัมภาษณ์ครั้งใหญ่ของ freedesktop.org (Rayiner Hashem และ Eugenia Loli-Queru, OSNews, 24 พฤศจิกายน 2003)
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ฟรีเดสก์ท็อป.org
freedesktop.org ( fd.o ) ซึ่งเดิมชื่อX Desktop Group ( XDG ) เป็นโครงการที่ทำงานเกี่ยวกับความสามารถในการทำงานร่วมกันและเทคโนโลยีพื้นฐานร่วมกันสำหรับสภาพแวดล้อมเดสก์ท็อปซอฟต์แวร์เสร...
โครงการที่โฮสต์
freedesktop.org ให้บริการโฮสติ้งสำหรับโครงการที่เกี่ยวข้องหลายโครงการ [ 8 ] [ 9 ] ซึ่งรวมถึง:
ระบบหน้าต่างและกราฟิก
ซอฟต์แวร์ที่เกี่ยวข้องกับ ระบบจัดการหน้าต่าง และกราฟิกโดยทั่วไป
อื่น
นอกจากนี้ Avahi (ซึ่งเป็นการใช้งาน Zeroconf เวอร์ชัน ฟรี) เริ่มต้นจากการเป็นโครงการของ fd.o แต่ต่อมาได้แยกตัวออกมาเป็นโครงการอิสระ