GUI GUI ของ Linux คืออะไร


441

ฉันหวังว่านี่จะไม่เป็นคำถามที่โง่ แต่ก็เป็นสิ่งที่ฉันสงสัยเสมอ ทั้ง Windows (Win32 API) และ OS X (Cocoa) มี API ของตัวเองเพื่อจัดการ windows เหตุการณ์และระบบปฏิบัติการอื่น ๆ ฉันไม่เคยได้รับคำตอบที่ชัดเจนเลยว่าเทียบเท่ากับ Linux หรือเปล่า

ฉันเคยได้ยินบางคนพูดว่า GTK + แต่ GTK + เป็นแพลตฟอร์มข้ามมันเป็นพื้นเมืองได้อย่างไร


46
Joni ถูกต้อง: "ใน Linux ส่วนติดต่อผู้ใช้แบบกราฟิกไม่ใช่ส่วนหนึ่งของระบบปฏิบัติการ ... X Window System กำหนดโปรโตคอลเครือข่ายสำหรับ [ความสามารถของ GUI] ไลบรารีชุดเครื่องมือเช่น Gtk + (ใช้โดย Gnome) และ QT (ใช้โดย KDE) สร้างขึ้นจาก Xlib "
paulsm4

33
ในทางตรงกันข้ามเดวิดนี่เป็นคำถามที่ยอดเยี่ยมมาก
สัตว์ครึ่งบกครึ่งน้ำใน

7
ฉันเห็นด้วย - ฉันอ่าน "The Linux Programming API" และ "Systems Programming ... Unix" ซึ่งเป็นสองพระคัมภีร์ในเคอร์เนลและ API และคำถามนี้ไม่เคยเกิดขึ้นกับฉัน :) คำตอบน่าสนใจ
John Humphreys - w00te

10
Win32 API นั้นข้ามแพลตฟอร์มถ้าคุณใส่ไวน์ ..
เบรนแดนลอง

2
BTW Windows มีระบบย่อย WIN32 / WIN64 ซึ่งใช้ระบบเดียวกันกับ 'Windows Look and Feel - aka WIN32' ในระบบอื่น ๆ ระบบย่อยเหล่านี้ทำงานเหนือเคอร์เนล NT API สำหรับสิ่งเหล่านี้แตกต่างกัน ตัวอย่างเช่น C: เป็นนามธรรมของ WIN32 ไม่ใช่เคอร์เนล NT เช่นเดียวกับฟังก์ชันการทำงานของหน้าต่างบางส่วน Windows ยังมีระบบย่อย Unix ที่พร้อมใช้งาน (ที่รองรับ X11 ในระดับหนึ่ง)
Preet Sangha

คำตอบ:


603

ใน Linux ส่วนติดต่อผู้ใช้แบบกราฟิกไม่ได้เป็นส่วนหนึ่งของระบบปฏิบัติการ ส่วนต่อประสานกราฟิกกับผู้ใช้ที่พบบนเดสก์ท็อป Linux ส่วนใหญ่นั้นมาจากซอฟต์แวร์ที่เรียกว่าX Window Systemซึ่งกำหนดวิธีการที่ไม่ขึ้นกับอุปกรณ์ในการจัดการกับหน้าจอคีย์บอร์ดและอุปกรณ์ตัวชี้

X Window กำหนดโปรโตคอลเครือข่ายสำหรับการสื่อสารและโปรแกรมใด ๆ ที่รู้วิธี "พูด" โปรโตคอลนี้สามารถใช้งานได้ มีห้องสมุด C ที่เรียกว่าเป็นXlibที่ทำให้มันง่ายต่อการใช้โปรโตคอลนี้เพื่อให้ Xlib เป็นชนิดของGUI API พื้นเมือง Xlib ไม่ใช่วิธีเดียวในการเข้าถึงเซิร์ฟเวอร์ X Window นอกจากนี้ยังมีXCB

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

วิธีที่ X วาดบนหน้าจอภายในนั้นขึ้นอยู่กับการใช้งาน X.orgมีส่วนที่ขึ้นกับอุปกรณ์และส่วนที่ขึ้นกับอุปกรณ์ อดีตจัดการทรัพยากรหน้าจอเช่น windows ในขณะที่หลังสื่อสารกับไดรเวอร์การ์ดแสดงผลโดยปกติจะเป็นโมดูลเคอร์เนล การสื่อสารอาจเกิดขึ้นผ่านการเข้าถึงหน่วยความจำโดยตรงหรือผ่านการเรียกใช้ระบบไปยังเคอร์เนล ไดรเวอร์แปลคำสั่งเป็นรูปแบบที่ฮาร์ดแวร์ในการ์ดเข้าใจ

ในปี 2013 ระบบหน้าต่างใหม่ที่ชื่อว่าWaylandกำลังเริ่มใช้งานได้และการกระจายจำนวนมากได้กล่าวว่าพวกเขาจะย้ายไปอยู่ที่จุดนั้นแม้ว่าจะยังไม่มีกำหนดการที่ชัดเจน ระบบนี้ใช้ OpenGL / ES API ซึ่งหมายความว่าในอนาคต OpenGL จะเป็น "native GUI API" ใน Linux งานกำลังดำเนินการกับพอร์ต GTK + และ QT ไปยัง Wayland ดังนั้นแอปพลิเคชันและระบบเดสก์ท็อปที่ได้รับความนิยมในปัจจุบันจะต้องมีการเปลี่ยนแปลงเล็กน้อย แอปพลิเคชั่นที่ไม่สามารถเชื่อมต่อได้จะได้รับการสนับสนุนผ่านเซิร์ฟเวอร์ X11 เช่นเดียวกับ OS X รองรับแอป X11 ผ่าน Xquartz คาดว่าพอร์ต GTK + จะแล้วเสร็จภายในหนึ่งปีในขณะที่ Qt 5 ได้รับการสนับสนุน Wayland แล้ว

เพื่อเพิ่มความซับซ้อนให้กับเรื่องต่างๆ Ubuntu ได้ประกาศว่าพวกเขากำลังพัฒนาระบบใหม่ที่เรียกว่าMirเนื่องจากปัญหาที่พวกเขารับรู้กับ Wayland ระบบหน้าต่างนี้ยังใช้ OpenGL / ES API ด้วย


95
+1 ระบบปฏิบัติการจะต้องมี GUI ตั้งแต่เมื่อไรหมายความว่าถ้ามันไม่ได้เป็นระบบปฏิบัติการ เรื่องไร้สาระ
David Hammen

42
แม้แต่ Windows ก็เป็นเพียงโปรแกรมที่รันบน DOS
dan04

2
+1 @ DavidHammen ฉันไม่แน่ใจว่าสิ่งนั้นถูกส่งมาที่ฉันหรือไม่ แต่คุณถูกต้อง 100% คำศัพท์ของฉันไม่แม่นยำอย่างแน่นอน สิ่งที่ฉันควรจะพูดคือมันไม่ใช่ระบบปฏิบัติการที่สมบูรณ์แบบที่คุณมักจะนึกถึงระบบปฏิบัติการที่มีส่วนประกอบเพิ่มเติมทั้งหมดที่ทำให้ใช้งานได้ง่าย แต่เป็นการรวมกลุ่มของส่วนประกอบจากผู้จำหน่ายต่าง ๆ เป็นต้น
Chris Thompson

3
@ChrisThompson - อืม ... บางทีฉันแก่เกินไป แต่ฉันไม่เคยคิดว่า GUI เป็นส่วนหลักของระบบปฏิบัติการ และฉันไม่เคยนึกถึงระบบปฏิบัติการที่ไม่มี GUI เพียงแค่เป็น "การรวมกลุ่มของส่วนประกอบจากผู้ขายต่าง ๆ ฯลฯ " แต่เดี๋ยวก่อนบางทีสิ่งที่มีการย้ายที่ตั้งแต่ผมรูปแบบความคิดของฉันของสิ่งที่ประกอบด้วยระบบปฏิบัติการ :)
จอร์จฮอว์กิน

2
เว้นแต่คำตอบคือวิกิชุมชนฉันจะไม่เปลี่ยนเนื้อหาใด ๆ นอกเหนือจากการปรับปรุงไวยากรณ์ / การจัดรูปแบบหรือเพิ่มลิงก์ หากเนื้อหานั้นจำเป็นต้องได้รับการแก้ไขหรืออัพเดทนั่นคือความรับผิดชอบของบุคคลที่มีชื่อเสียงที่ผูกพันกับเนื้อหา อย่างไรก็ตามฉันจะทำให้พวกเขาชอบแสดงความคิดเห็นเพื่อให้พวกเขาตระหนักว่าฉันคิดว่าบางสิ่งจำเป็นต้องได้รับการแก้ไขหรือปรับปรุง
Abe ซื่อสัตย์

84

Linux เป็นเคอร์เนลไม่ใช่ระบบปฏิบัติการแบบเต็ม มีระบบหน้าต่างที่แตกต่างกันและ gui ที่ทำงานบน Linux เพื่อจัดทำ Windowing โดยทั่วไปX11เป็นระบบหน้าต่างที่ใช้โดย Linux distros


6
พวกเขาถูกสร้างขึ้นบนมัน X11 เป็นเซิร์ฟเวอร์ในขณะที่ KDE, Gnome และอื่น ๆ เป็นผู้จัดการเดสก์ท็อปโดยให้ API ระดับสูงกว่าเค้าโครงหน้าต่างทั่วไปเป็นต้น
ทำเครื่องหมาย

7
X11 เป็นเลเยอร์ระดับต่ำจริงที่จัดการสิ่งนี้ทั้งหมดและจัดการการวาดภาพไปที่หน้าจอ ฯลฯ (และสื่อสารกับไดรเวอร์กราฟิก) Gnome / KDE จากนั้นควบคุม X11 นั่นเป็นเรื่องเกี่ยวกับมันในระดับสูงและไม่สนใจรายละเอียดหนึ่งพันล้านรายการ
slugonamission

3
ขอบคุณ อีกหนึ่งคำถาม: wikipedia อธิบายว่า X11 "สร้างเลเยอร์ abstraction ฮาร์ดแวร์ซึ่งซอฟต์แวร์ถูกเขียนขึ้นเพื่อใช้ชุดคำสั่งทั่วไปทำให้อุปกรณ์มีความเป็นอิสระและนำโปรแกรมกลับมาใช้บนคอมพิวเตอร์เครื่องใดก็ได้ที่ใช้ X" คำถามของฉันคือ: เหตุใด X11 จึงให้การโต้ตอบของฮาร์ดแวร์ (HAL), Linux Kernel ควรให้สิ่งนั้นและ X11 ทำงานบนเคอร์เนล? กล่าวอีกนัยหนึ่งเหตุใด X11 ถึงอุปกรณ์ฮาร์ดแวร์เมื่อเคอร์เนลควรเป็นพร็อกซี
สัตว์สะเทินน้ำสะเทินบก

1
ฉันคิดว่าในกรณีHALนี้เป็นคำที่ใช้ไม่ถูกต้อง สิ่งที่พวกเขากำลังพูดจริงๆก็คือ X11 มีวิธีการที่ไม่ขึ้นกับระบบในการแสดงหน้าต่าง มีรุ่น X11 สำหรับดาร์วิน (Mac OS - จริง ๆ แล้วซับซ้อนกว่าตอนนี้ด้วย Mountain Lion ... ), MS Windows และ Linux
Chris Thompson

4
X11 เป็นโปรโตคอลเครือข่าย สิ่งที่เป็นนามธรรมเกี่ยวข้องกับการเขียนโปรแกรมบนแพลตฟอร์ม A ที่สามารถแสดงไคลเอนต์ X11 (Windows, แอพและอื่น ๆ ) บนแพลตฟอร์ม B ผ่านอุปกรณ์เครือข่ายบางอย่าง แอปของคุณสามารถเรียกใช้ในพื้นที่จากระยะไกลในเซิร์ฟเวอร์ที่ซ้อนกันในเซิร์ฟเวอร์เสมือนที่เพิ่งทำ VNC เป็นต้นฮาร์ดแวร์ที่เป็นนามธรรม (บนแพลตฟอร์มในพื้นที่) เป็นผลข้างเคียงของคุณสมบัตินี้ แต่ยังทำให้เส้นแบ่งระหว่าง X11 และ เคอร์เนล (ซึ่งเป็นสิ่งที่ทำให้ฮาร์ดแวร์นามธรรมบนระบบ Unix เฉลี่ย)
Alexios

59

Waylandมีค่าควรแก่การกล่าวขวัญเพราะส่วนใหญ่เรียกว่า "นักฆ่า X11 ในอนาคต"

โปรดทราบว่า Android และระบบปฏิบัติการมือถืออื่น ๆ ไม่ได้รวม X11 แม้ว่าพวกเขาจะมีเคอร์เนลลินุกซ์ดังนั้นในแง่นั้น X11 นั้นไม่ได้มีอยู่ในระบบ Linux ทั้งหมด

การเป็นข้ามแพลตฟอร์มไม่มีส่วนเกี่ยวข้องกับการเป็นคนพื้นเมือง Cocoa ยังได้รับการจัดส่งไปยังแพลตฟอร์มอื่นผ่านGNUStepแต่ก็ยังคงใช้งานได้กับ OS X / macOS


2
แผนภาพสถาปัตยกรรมระดับสูงสำหรับ Wayland เหมือนกับของ X ยกเว้นว่า "Compositor" และ "Server" ในแผนภาพ X จะรวมอยู่ในแผนภาพ Wayland สิ่งที่ขาดหายไปคือคำอธิบายที่เป็นไปได้ว่าทำไมการรวมกลุ่มนี้จึงไม่สามารถใช้กับ X ได้
Kaz

1
ฉันจะบอกว่ามันไม่ง่ายเลยที่จะเปลี่ยนการออกแบบพื้นฐานของฐานรหัสอายุ 20 ปีขึ้นไป โปรดทราบว่าปัญหาอื่นของ X11 คือฟังก์ชั่นส่วนใหญ่เช่นการแสดงผลแบบอักษรไม่ได้ถูกใช้งานในปัจจุบัน Plus X11 ยังคงต้องการในเซิร์ฟเวอร์และซูเปอร์คอมพิวเตอร์ความโปร่งใสของเครือข่ายนั้นดีเกินกว่าที่จะยอมแพ้
ไม่มี

3
@gokcehan wayland ไม่ได้ละเว้นความโปร่งใสของเครือข่าย แต่เป็นตำนาน มันไม่ได้ดำเนินการเลยเช่นเดียวกับสิ่งอื่น ๆ อีกมากมายใน Wayland wayland.freedesktop.org/faq.html#heading_toc_j_8 blog.martin-graesslin.com/blog/2011/08/เป็นต้น ฯลฯ
whitequark

8
+! ที่กล่าวถึงการขาด X11 ของ Android Android น่าจะเป็นตัวอย่างโต้แย้งที่น่าเชื่อถือมากที่สุดในการโต้แย้งว่า "x11 คือ native linux GUI" แสดงให้เห็นว่าลีนุกซ์สามารถมี x11 หรือ Android ได้เนื่องจาก GUI "ดั้งเดิม" แสดงให้เห็นว่าผู้เริ่มต้นลีนุกซ์เป็นเพียงเคอร์เนลและไม่ได้มี GUI เสมอไป
Trevor Boyd Smith

"การเป็นข้ามแพลตฟอร์มไม่มีส่วนเกี่ยวข้องกับการเป็นชนพื้นเมือง" เป็นจุดที่ยอดเยี่ยม ฉันใช้รูปแบบนั้นบ่อยมากในช่วงหลายปีที่ฉันย้ายแพลตฟอร์มข้ามแพลตฟอร์ม ที่โดดเด่นที่สุดในยุค 90 ฉันขายเฟรมเวิร์กที่ให้คุณข้ามรหัสคอมไพล์ที่เขียนไปยังเฟรมเวิร์กของ Metrowerks PowerPlant โดยใช้ MFC ภายใต้ฮูด (ก่อนที่ทุกคนหัวเราะเยาะเมื่อคุณได้รับต่ำกว่ามาโคร MFC มีเหตุผลพอสมควร) ฉันยังมีการย้ายหลายงานที่ Win32 หรือ Mac Toolbox API เป็นสเป็คที่เรารวบรวมรวบรวมปรับใช้ตามความจำเป็นบนแพลตฟอร์มอื่น ๆ .
Andy Dent

23

พูดอย่างเคร่งครัด API ของ Linux ประกอบด้วยของสายระบบ นี่คือฟังก์ชั่นเคอร์เนลทั้งหมดที่สามารถเรียกใช้โดยโปรแกรมโหมดผู้ใช้ (ไม่ใช่เคอร์เนล) นี่เป็นอินเทอร์เฟซระดับต่ำมากที่อนุญาตให้โปรแกรมทำสิ่งต่าง ๆ เช่นเปิดและอ่านไฟล์ ดูhttp://en.wikipedia.org/wiki/System_callสำหรับการแนะนำทั่วไป

ระบบลีนุกซ์จริงจะมี "สแต็ค" ทั้งหมดของซอฟต์แวร์อื่นที่ทำงานอยู่เพื่อให้ส่วนต่อประสานผู้ใช้แบบกราฟิกและคุณสมบัติอื่น ๆ แต่ละองค์ประกอบของสแต็กนี้จะเสนอ API ของตัวเอง


3
คำตอบนี้ถูกเขียนขึ้นเมื่อคำถามคือ "Native API ของ linux คืออะไร" (ตั้งแต่นั้นมา "GUI" ถูกแทรกลงในคำถาม)
nibot

มันยังคงเป็นคำตอบที่ถูกต้องสำหรับสิ่งที่เป็นคำถามที่ไม่เชื่อมโยงกันในขณะนี้เพราะไม่มีระบบใดที่ติดตั้งบน Linux, รวมถึง GNU และ X11, เป็น "เจ้าของภาษา" ในแง่ที่มีความหมาย
Jim Balter

20

เพื่อช่วยในสิ่งที่ได้กล่าวไปแล้วมีภาพรวมที่ดีมากของ Linux graphics stack ที่บล็อกนี้: http://blog.mecheye.net/2012/06/the-linux-graphics-stack/

สิ่งนี้อธิบาย X11 / Wayland ฯลฯ และวิธีการที่ทุกอย่างเข้าด้วยกัน นอกเหนือจากที่กล่าวมาแล้วฉันคิดว่ามันคุ้มค่าที่จะเพิ่มบิตเกี่ยวกับ API ต่อไปนี้ที่คุณสามารถใช้สำหรับกราฟิกใน Linux:

Mesa - "Mesa มีหลายสิ่งหลายอย่าง แต่หนึ่งในสิ่งสำคัญที่ทำให้มันมีชื่อเสียงที่สุดคือการใช้งาน OpenGL มันเป็นการใช้งานโอเพ่นซอร์สของ OpenGL API"

ไคโร - "ไคโรเป็นไลบรารีรูปวาดที่ใช้โดยแอปพลิเคชันเช่น Firefox โดยตรงหรือผ่านไลบรารีเช่น GTK + เพื่อวาดรูปร่างเวกเตอร์"

DRM (Direct Rendering Manager) - ฉันเข้าใจสิ่งนี้น้อยที่สุด แต่โดยพื้นฐานแล้วมันเป็นไดรเวอร์เคอร์เนลที่ให้คุณเขียนกราฟิกโดยตรงไปยัง framebuffer โดยไม่ต้องผ่าน X


habrahabr.ru/post/148954 - (ในรัสเซีย) การแปลของโพสต์นั้นถ้าใครต้องการ
Boris Burkov


5

XWindows น่าจะใกล้เคียงที่สุดกับสิ่งที่เรียกว่า 'native' :)


3
นั่นคือสิ่งเดียวกันกับ x11 หรือไม่?
DavidColson

1
แต่ถ้าคุณใช้โดยตรงคุณจะเห็นว่ามันไม่ใช่ GUI api ... Linux ไม่ได้มี 1 GUI api เท่านั้น แต่เกือบทุก GUI APIs เหล่านั้น (อย่างน้อยที่พบได้ทั่วไปบนเดสก์ท็อปลินุกซ์ในปัจจุบัน) ทำงานบน X หากคุณเริ่มเขียนแอพพลิเคชั่นด้วย X เก่าธรรมดาวันนี้มันจะดูแปลกไปหมดเลย พูดว่า GUI ดั้งเดิมนั้นขึ้นอยู่กับการกระจาย - gtk / gnome สำหรับ ubuntu, kde สำหรับผู้อื่น
Axel

1

สิ่งที่ใกล้เคียงที่สุดกับ Win32 ใน linux จะเป็น libc อย่างที่คุณพูดถึงไม่เพียง แต่ UI เท่านั้น แต่ยังมีเหตุการณ์และ "สิ่งอื่น ๆ ในระบบปฏิบัติการ"


5
libc (ไลบรารีมาตรฐาน C) เป็นส่วนต่อประสานกับการเรียกใช้ระบบปฏิบัติการ เป็นระบบหลัง (การเรียกใช้ระบบปฏิบัติการ) บน Linux ซึ่งแปลเป็น Win32 บน Windows อย่างคร่าวๆ คุณไม่สามารถโปรแกรม (หรือเลย) สำหรับ Windows รุ่นปัจจุบันโดยไม่ใช้ Win32 API ในระดับใดระดับหนึ่ง แต่คุณสามารถเขียนโปรแกรมสำหรับทั้ง Windows และ Linux โดยไม่ต้องใช้ไลบรารี C ของคอมไพเลอร์มาตรฐานโดยการทำซ้ำคำสั่งโดยตรง รหัส to-syscalls ไม่แนะนำให้ทำและทำให้โค้ดของคุณไม่สามารถส่งไปยัง OS อื่น ๆ ได้อย่างสมบูรณ์ แต่เป็นไปได้ที่จะทำ
CVn

UI ไม่ใช่ส่วนหนึ่งของ libc - ตราบใดที่คุณไม่นึกถึง printf / scanf และสิ่งที่คล้ายกับการเป็น UI ... libc เป็นเพียงไลบรารีมาตรฐาน C และมันก็ไม่ได้เป็นอินเทอร์เฟซของระบบปฏิบัติการที่เรียกเช่นกัน มันมีฟังก์ชั่นสำหรับไฟล์ i / o, การจัดการหน่วยความจำ, การประมวลผลสตริง ฯลฯ และใช้การโทรภายในระบบ สำหรับการโทรออกioctlด้วยระบบเหมือนตัวคุณเองคุณต้องรวมอะไรบางอย่างsys/ไว้ด้วย
Axel

คำถามไม่ได้ระบุ "GUI" เสมอไป
jv110

บางทีคุณอาจจะพูดคุยเกี่ยวกับไม่ได้Xlib libc
i486

1

การดำเนินการแบบกราฟิกเคอร์เนลของ linux อยู่ใน /include/linux/fb.h เป็น struct fb_ops ในที่สุดนี่คือสิ่งที่ Add-on เช่น X11, Wayland หรือ DRM ปรากฏขึ้นเพื่อการอ้างอิง เนื่องจากการดำเนินการเหล่านี้มีไว้สำหรับการ์ดแสดงผลไม่ใช่อุปกรณ์แบบเวคเตอร์หรือแรสเตอร์ฮาร์ดแคปหรือเทอร์มินัลที่มุ่งเน้น tty ความได้เปรียบในฐานะ GUI มี จำกัด มันไม่จริงทั้งหมดที่คุณต้องการส่วนเสริมเหล่านั้นเพื่อรับเอาท์พุทแบบกราฟิกถ้าคุณไม่สนใจการใช้แอสเซมเบลอร์เพื่อเลี่ยง syscall เท่าที่จำเป็น


0

GUI เป็นสิ่งที่มีความสามารถในระดับสูงดังนั้นเกือบทุกอย่างตั้งแต่เซิร์ฟเวอร์ XOrg ไปจนถึง OpenGL นั้นมีการข้ามพอร์ตแพลตฟอร์มรวมถึงแพลตฟอร์ม Windows แต่ถ้าใช้ GUI API คุณหมายถึง * nix graphics API คุณอาจกำลังเดินไปรอบ ๆ "โครงสร้างพื้นฐานการแสดงผลโดยตรง"


0

Wayland

อย่างที่คุณอาจจะได้ยินwaylandเป็นตัวเลือกที่น่าสนใจสำหรับ distros หลาย ๆ วันนี้เนื่องจากโปรโตคอลของมันง่ายกว่า X

ชุดเครื่องมือของ Wayland

Toolkits หรือ gui library ที่ wayland แนะนำคือ:

  • QT 5
  • GTK +
  • LSD
  • ถ่วง
  • EFL

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