Window Manager vs. Desktop Environment vs. Window System? ความแตกต่างคืออะไร?


23

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

Gnome 
X11 
Xorg 
Metacity 
GTK+

ความแตกต่างระหว่างสิ่งเหล่านี้คืออะไร? สิ่งใดบ้างที่สามารถเปลี่ยนแปลงได้? ทำสิ่งเดียวกันนี้เมื่อเราพูดถึง KDE หรือ LXDE หรือไม่?

แก้ไข: นอกจากนี้สิ่งต่าง ๆ เช่น Compiz ทำงานในทุก ๆ window manager / window system / desktop environment หรือไม่


ถามแล้วในปี 2010 ใน AskUbuntuและถามไม่กี่เดือนต่อมาบน Unix การแตกขนของ StackExchange ในหลาย ๆ ส่วนไม่ได้เหมาะสมเสมอไป
Dan Dascalescu

คำตอบ:


26

X11 เป็นโปรโตคอลเครือข่าย มันเข้ารหัสสิ่งต่าง ๆ เช่นกราฟิกดั้งเดิมรูปภาพการเคลื่อนไหวของตัวชี้และการกดปุ่ม

Xorg เป็นเซิร์ฟเวอร์เอ็กซ์ มันใช้ X11 และให้อินเทอร์เฟซกับแป้นพิมพ์เมาส์และการ์ดวิดีโอ

GTK + เป็นเครื่องมือวิดเจ็ต มันมีหลายอย่างเช่นปุ่มแถบเลื่อนกล่องแก้ไข ฯลฯ

Metacity และ Compiz เป็นผู้จัดการหน้าต่าง พวกเขาตกแต่งหน้าต่างต้นแบบของ X และสนับสนุนการดำเนินการต่าง ๆ เช่นการย้ายการปรับขนาดและการขยายหน้าต่างให้ใหญ่สุด

GNOME, KDE และ LXDE มีสภาพแวดล้อมเดสก์ทอป มีไลบรารีและข้อมูลจำเพาะที่แอปพลิเคชันใช้และติดตามเพื่อ "เล่นได้ดี" กับแอปพลิเคชันอื่น ๆ


นี่เป็นคำตอบที่ยอดเยี่ยมและเรียบง่าย +1 อย่างไรก็ตามเซิร์ฟเวอร์ Xorg สามารถเปลี่ยนแปลงได้หรือเป็นมาตรฐานลินุกซ์? นอกจากนี้ฉันไม่เคยได้ยินชื่อ GTK + หรือ Metacity ในสภาพแวดล้อมของ KDE - พวกเขาเป็น Gnome หรือไม่?
n0pe

3
Xorg เป็นเพียงการดำเนินการอย่างหนึ่งของ X11; มันเพิ่งจะเป็นการนำ FOSS ที่ได้รับความนิยมมาใช้มากที่สุด KDE ระบุว่า Qt จะถูกใช้เป็นเครื่องมือเครื่องมือของมันจึงเป็นไปไม่ได้สำหรับแอป KDE ใช้ GTK + เพราะมันก็จะไม่มีอีกต่อไปจะเป็น app KDE เป็นไปได้ที่จะใช้ Metacity ภายใต้ KDE (ตัวจัดการหน้าต่างไม่ค่อยเป็นส่วนหนึ่งของข้อมูลจำเพาะ DE เพียงค่าเริ่มต้นที่มีเหตุผล) แต่เหตุผลส่วนใหญ่สำหรับคนที่ใช้ KDE ในตอนแรกนั้นเกิดจากความสามารถในการกำหนดค่าและ Metacity เป็นอย่างมาก การต่อต้านการกำหนดค่า
Ignacio Vazquez-Abrams

อีกหนึ่งคำถามและขอขอบคุณสำหรับข้อมูลจนถึงจุดนี้ ตัวจัดการหน้าต่างมีบทบาทในการทำงานร่วมกันของหน้าจอคู่หรือไม่? ฉันกำลังจะเปลี่ยนจาก KDE เป็นโซลูชันที่มีน้ำหนักเบา (blackbox / openbox พื้นที่นั้น) และฉันสงสัยว่าสิ่งเหล่านี้จะมีผลกระทบต่อหน้าจอคู่หรือสิ่งต่างๆ
n0pe

พวกเขาไม่ควรแต่บางคนอาจมีคุณสมบัติเพิ่มเติมภายใต้สถานการณ์หลายจอภาพ (สแนปไปที่ขอบหน้าจอส่งไปที่หน้าจอ ฯลฯ )
Ignacio Vazquez-Abrams

user113907 กล่าวถึง: "X11 เป็นระบบหน้าต่าง (สิ่งที่ดึงดูดหน้าต่างบนหน้าจอ)" คุณพูดถึง: "X11 เป็นโปรโตคอลเครือข่าย" สามารถคืนดีได้ไหม
dotancohen

4

ต่อไปนี้เป็นคำศัพท์ที่กำหนดไว้พร้อมด้วยตัวอย่างจากศูนย์กลางของ Ubuntu

  • Window Manager: รับคำขอของ windows และวางไว้ในตำแหน่งที่ต้องการ ทำสิ่งต่าง ๆ เช่นแถบหัวเรื่องเมนู ฯลฯตัวอย่าง: ความกล้าหาญ

  • สภาพแวดล้อมเดสก์ท็อป: ชุดเครื่องมือจัดการหน้าต่างที่เพิ่มสิ่งต่าง ๆ เช่นแผงพื้นหลังและอุปกรณ์อื่น ๆ ตัวอย่าง: GNOME

  • Windowing System: ซอฟต์แวร์ระดับต่ำจริงที่ยอมให้สิ่งต่าง ๆ เช่น windows มีอยู่ในตอนแรกและวาดลงบนหน้าจอ ตัวอย่าง: Xorg

โดยทั่วไปคุณอาจสนใจทราบว่าตัวจัดการหน้าต่างและสภาพแวดล้อมเดสก์ท็อปเป็นสิ่งที่ผู้ใช้โต้ตอบด้วย คุณไม่ได้สัมผัสโดยตรง (เว้นแต่ว่าคุณอยู่ในเชลล์กู้คืน) ระบบหน้าต่าง

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


4

GNOME เป็นสภาพแวดล้อมของเดสก์ท็อป (มันจัดการกับไอคอนและแผงเดสก์ท็อป)

Metacity เป็นหนึ่งในเครื่องมือจัดการหน้าต่างของ GNOME (ซึ่งช่วยให้หน้าต่างจัดระเบียบ)

GTK + เป็นชุดเครื่องมือวิดเจ็ตของ GNOME (ดึงปุ่มและช่องทำเครื่องหมายไว้)

X11 คือระบบหน้าต่าง (สิ่งที่วาดหน้าต่างบนหน้าจอ)

Xorg เป็นการใช้งานโอเพนซอร์ซของ X11 (มักจะมีความหมายเหมือนกันกับ X11)

Compiz เป็นตัวจัดการหน้าต่างและผู้แต่งเดสก์ท็อป (ผู้แต่งเดสก์ท็อปเป็นโปรแกรมที่ให้เอฟเฟกต์พิเศษเช่นลูกบาศก์บนเดสก์ท็อปบนหน้าจอของคุณ)

คุณสามารถเรียกใช้ Compiz ได้ใน GNOME, KDE และ Unity อย่างน้อยที่สุด เพียงรับแพ็คเกจ CCSM โดยป้อนสิ่งนี้ในเทอร์มินัล:

$ sudo apt-get install ccsm
$ ccsm

(อย่าป้อนเครื่องหมายดอลลาร์และช่องว่างหลังจากนั้นหมายความว่าคุณไม่ได้เข้าสู่ระบบในฐานะ root) ใน CCSM (Compiz Config Settings Manager) ให้เปิดและกำหนดค่าเดสก์ท็อปเอฟเฟกต์ที่คุณต้องการ ระวัง! คุณอาจสูญเสียแถบหัวเรื่องใน GNOME และ UNITY หากเกิดเหตุการณ์นี้ขึ้นให้กด Ctrl-Alt-F1 จากนั้นพิมพ์:

$ ด้านบน

ดูใต้คอลัมน์ PID และจดบันทึกหมายเลขบนรายการ xorg จากนั้นป้อน:

$ sudo kill pid

หน้าจอเข้าสู่ระบบควรปรากฏขึ้นทันที เข้าสู่ระบบอีกครั้งและหลีกเลี่ยงข้อผิดพลาดที่คุณทำครั้งสุดท้าย ขออภัยสำหรับวาทกรรมที่ยาวนาน


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