KDE, GTK, GTK +, QT, และ / หรือ GNOME คืออะไร


60

ฉันใหม่กับ Ubuntu (และ Linux โดยทั่วไป) บางครั้งเมื่อดูโปรแกรมในศูนย์ซอฟต์แวร์ Ubuntu ฉันเห็นสิ่งต่าง ๆ เกี่ยวกับโปรแกรมที่เป็น 'สำหรับ GTK + สภาพแวดล้อม' หรือ 'สำหรับ GNOME' หรืออื่น ๆ อีกมากมาย ทั้งหมดที่ฉันรู้ก็คือว่าฉันมี Ubuntu 12.04 LTS และสิ่งที่ฉันเห็นผ่านหน้าจอของฉันดูเหมือนจะเป็นอินเตอร์เฟส Unity ที่ขัดแย้งกัน

สิ่งอื่น ๆ ที่ฉันเห็นมีการกล่าวถึงในคำอธิบายของโปรแกรม (เช่น KDE, GTK, QT, GNOME, 'เชลล์' GNOME และอื่น ๆ ) คืออะไร พวกเขาเป็น Linux GUI ที่เป็นทางเลือกแทน Unity หรือไม่? พวกเขาพึ่งพาที่ฉันต้องมีหรือไม่

ฉันใช้เวลาหลายเดือนในการคุ้นเคยกับ Ubuntu ในรูปแบบปัจจุบัน (แม้ว่าฉันจะยอมรับว่าฉันได้เล่นกับ Compiz ซึ่งสนุกเหมือนนรก) สิ่งอื่น ๆ เหล่านี้จะทำให้โลกของฉันคว่ำลงอย่างสมบูรณ์หรือไม่ถ้าฉันใช้พวกเขา



ยินดีต้อนรับสู่ถาม Ubuntu! ฉันเข้าใจคำศัพท์ใหม่ทั้งหมดเหล่านี้ดูเหมือนจะสับสนเมื่อคุณเริ่มใช้งาน Ubuntu / Linux อย่างไรก็ตามฉันคิดว่าคำถามของคุณกว้างเกินไปที่จะตอบ ตามที่ @UriHerrera แสดงให้เห็นแล้วข้อมูลก็มีอยู่แล้วในเว็บไซต์นี้เช่นกัน ฉันโหวตให้ปิดคำถามนี้ ดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำถามประเภทใดที่เหมาะกับไซต์นี้
gertvdijk

2
ไม่มีอะไรที่ต้องขอโทษ :)
Flimm

3
นอกเหนือจากการที่พวกเขาไม่มีอะไรต้องขออภัยฉันยังไม่เห็นด้วยว่านี่กว้างเกินกว่าจะตอบได้ นั่นคือตามมาตรฐานปัจจุบันกว้างเกินไปซึ่งเป็นเหตุผลว่าทำไมเราไม่ควรปิดสิ่งนี้ซ้ำซ้อน นี่แคบกว่ามากและมีคำตอบที่ดีอยู่แล้ว
Eliah Kagan

1
@EliahKagan นั่นเป็นข้อยกเว้นธรรมดา ๆ ของกฎดังที่กล่าวไว้อย่างชัดเจนในส่วนบนของคำถาม และฉันไม่เห็นด้วยกับคุณเกี่ยวกับสิ่งนี้ว่าเป็นคำถามที่แคบลงเนื่องจากคำถามนี้เกี่ยวกับทั้งชุดเครื่องมือและ UI อย่างมีประสิทธิภาพเป็นอย่างน้อยครึ่งหนึ่งที่ซ้ำกัน และฉันสามารถเขียนหนังสือเป็นคำตอบได้ดังนั้นแน่นอนว่าเป็นประเภท "กว้างเกินไป" ของคำถาม
gertvdijk

คำตอบ:


51

GTK, GTK + และ Qt เป็นชุดเครื่องมือ GUI นี่คือไลบรารีที่นักพัฒนาซอฟต์แวร์ใช้ในการออกแบบส่วนต่อประสานกราฟิกซึ่งทำงานอยู่ด้านบนของ X Server นี่คือสิ่งที่คุณต้องติดตั้งเป็นการอ้างอิง พวกเขาเป็น Linux "เทียบเท่า" กับ Windows 'GDI / GDI + เมื่อแอปพลิเคชันใช้สิ่งเหล่านี้แอปพลิเคชันจะมี "รูปลักษณ์และความรู้สึก" ทั่วไป

GNOME และ KDE คือสภาพแวดล้อมเดสก์ท็อป GNOME ใช้ชุดเครื่องมือ GTK + เป็นหลักในขณะที่ KDE ใช้ชุดเครื่องมือ Qt เป็นหลัก มีแอปพลิเคชันที่ออกแบบมาสำหรับ GNOME หรือ KDE เช่นเมนูการตั้งค่าหรือเครื่องเล่นเพลงเริ่มต้นมักจะอยู่ในชุดเครื่องมือที่เหมาะสม สภาพแวดล้อมเดสก์ท็อปเหล่านี้มีชุดยูทิลิตี้ / ผู้จัดการหน้าต่าง / ข้อกำหนดการออกแบบเพื่อสร้างเดสก์ท็อปแบบครบวงจรมากขึ้น คุณสามารถผสมสองอย่างนี้ถ้าคุณรู้สึกชอบ แต่คุณอาจพบปัญหาเกี่ยวกับมาตรฐานการชนกันและแอปพลิเคชัน (ซึ่งบางครั้งคุณอาจพบเจอกับระบบเช่น Arch)

ความสามัคคีใช้ยูทิลิตี้ GNOME จำนวนมาก (Nautilus, Rhythmbox และอื่น ๆ ) ดังนั้น Unity จึงเป็น GNOME มากกว่า KDE


20

GTK + เป็น "GIMP Toolkit" ( http://en.wikipedia.org/wiki/GTK+ ); สิ่งนี้อ้างถึงวิดเจ็ต - บิตที่ประกอบเป็นแอปพลิเคชั่น GUI เช่นปุ่มเมนูรายการดรอปและอื่น ๆ และบิตพื้นฐานที่คุณมองไม่เห็นเช่นไลบรารีสำหรับจัดเก็บการกำหนดค่า

Unity เป็นสภาพแวดล้อมเดสก์ท็อป - ขึ้นอยู่กับ Gnome GNOME เป็นสภาพแวดล้อมเดสก์ท็อปที่ใช้ GTK + เป็นชุดเครื่องมือ GUI KDE เป็นสภาพแวดล้อมเดสก์ทอปอื่น มันเหมือนกับ Windows ในรูปแบบทั่วไปมากกว่าและใช้ Qt เป็นชุดเครื่องมือ GUI

ข่าวดีก็คือแอปพลิเคชั่น Qt ทำงานได้ดีใน Unity

ข่าวกลางคือแอพพลิเคชั่นบางตัวที่เขียนขึ้นสำหรับ KDE นั้นใช้เดสก์ท็อป KDE ค่อนข้างมากและดึงการพึ่งพาจำนวนมาก แม้ว่าสิ่งนี้จะไม่ทำลายอะไรเลย แต่ก็สามารถใช้ทรัพยากรของระบบจำนวนมากที่ใช้ชิ้นส่วนของ KDE ที่คุณไม่ได้ใช้งานจริง

อย่างไรก็ตามแอปพลิเคชันที่เขียนด้วย Qt นั้นไม่จำเป็นต้องเหมือนกับแอพที่เขียนขึ้นสำหรับ KDE มีแอพจำนวนมากที่ใช้ Qt สำหรับ GUI และไม่ใช้ไลบรารี KDE

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.