X11 คืออะไรกันแน่?


14

ฉันกำลังอ่าน Wikipedia เกี่ยวกับ X11 และมันบอกว่า:

ในการจัดจำหน่ายแบบมาตรฐานมันเป็นโซลูชั่นที่สมบูรณ์แม้ว่าจะเป็นจอแสดงผลและส่วนต่อประสานที่ให้ชุดเครื่องมือมาตรฐานและโปรโตคอลสแต็คสำหรับการสร้างส่วนต่อประสานผู้ใช้แบบกราฟิกบนระบบปฏิบัติการยูนิกซ์ส่วนใหญ่ ...

แต่ต่อมามันก็บอกว่า:

X กำหนดส่วนใหญ่โปรโตคอลและกราฟิกพื้นฐาน - โดยไม่มีข้อกำหนดสำหรับการออกแบบส่วนต่อประสานผู้ใช้แอปพลิเคชันเช่นปุ่มเมนูหรือลักษณะหัวเรื่องแถบหน้าต่าง

ดังนั้น X11 มีวิดเจ็ตเช่นปุ่มหรือแผง / กรอบหน้าต่าง ฯลฯ หรือไม่? ดึกดำบรรพ์กราฟิกคืออะไร? X11 ให้อะไรอย่างแน่นอน

มันยังระบุด้วยว่า:

X ไม่ได้สั่งการอินเทอร์เฟซผู้ใช้; โปรแกรมไคลเอนต์แต่ละรายการจัดการสิ่งนี้ โปรแกรมอาจใช้ความสามารถด้านกราฟิกของ X โดยไม่มีส่วนต่อประสานผู้ใช้

สิ่งนี้หมายความว่า?


4
ฉันคิดว่าคุณน่าจะไปที่หน้าการสนทนาที่ตรงกับหน้านั้นใน Wikipedia และเริ่มการสนทนาเพื่อให้ผู้เขียนชี้แจงบทความของพวกเขา
RealSkeptic

คำตอบ:


18

เช่นเดียวกับหลาย ๆ คำ“ X11” สามารถมีความหมายหลายอย่างได้

“ X11” เป็นโปรโตคอลการสื่อสารที่พูดอย่างเคร่งครัด ในประโยค“ X กำหนดหลักดั้งเดิมของโปรโตคอลและกราฟิก…” และ“ X ไม่ได้บังคับให้อินเทอร์เฟซผู้ใช้…” นั่นคือสิ่งที่ X อ้างถึง X เป็นตระกูลของโปรโตคอล X11 เป็นรุ่นที่ 11 และเป็นรุ่นเดียวที่ใช้งานใน 25 ปีที่ผ่านมา

ประโยคแรกในคำถามของคุณอ้างถึงการแจกจ่ายซอฟต์แวร์ซึ่งเป็นการใช้งานอ้างอิงของโปรโตคอล X11 ชื่อเต็มของการแจกจ่ายซอฟต์แวร์นี้คือ“ ระบบ X Window” การแจกจ่ายนี้รวมถึงโปรแกรมที่ทำหน้าที่เป็นเซิร์ฟเวอร์ในโปรโตคอล X11 โปรแกรมที่ทำหน้าที่เป็นไคลเอนต์ในโปรโตคอล X11 ไลบรารีรหัสที่ประกอบด้วยรหัสที่ใช้โปรโตคอล X11 เอกสารประกอบที่เกี่ยวข้องทรัพยากรเช่นแบบอักษรและเค้าโครงแป้นพิมพ์ที่สามารถใช้งานได้ ด้วยโปรแกรมและไลบรารีดังกล่าวข้างต้น ฯลฯ ในอดีตการเผยแพร่ซอฟต์แวร์นี้ทำโดย MIT; วันนี้ก็จะดูแลโดยมูลนิธิ X.Org

โพรโทคอล X11 อนุญาตให้แอปพลิเคชันสร้างวัตถุเช่น windows และใช้พื้นฐานการวาดรูปพื้นฐาน (เช่นเติมสี่เหลี่ยมแสดงข้อความบางส่วน) วิดเจ็ตเช่นปุ่มเมนู ฯลฯ ทำโดยไลบรารีไคลเอ็นต์ X Window System รวมถึงไลบรารีพื้นฐาน ( ชุดเครื่องมือ Athena ) แต่แอปพลิเคชันส่วนใหญ่ใช้ไลบรารีนักเล่นที่ชื่นชอบเช่นGTK + , Qt , Motifเป็นต้น

โปรแกรม X11 บางโปรแกรมไม่มีส่วนต่อประสานกราฟิกกับผู้ใช้ตัวอย่างเช่นเครื่องมือบรรทัดคำสั่งเช่นxset , xselและxdotoolโปรแกรมการเชื่อมโยงคีย์เช่นxbindkeysเป็นต้นโปรแกรม X11 ส่วนใหญ่มี GUI


2

X11 หรือที่รู้จักกันในนาม X.org Foundation Windowing นั้นถูกใช้โดยสภาพแวดล้อมเดสก์ท็อปอื่น ๆ เช่น KDE และ GNOME เพื่อให้อินเทอร์เฟซนามธรรมในการจัดการ GUI โดยไม่ต้องพึ่งพา X, KDE / GNOME / อื่น ๆ จะต้องเขียนโค้ดเพื่อทำการเข้ารหัสในระดับต่ำด้วยตนเอง KDE / GNOME สื่อสารกลับไปกลับมาด้วย X แทน (ทำงานเป็นกระบวนการเซิร์ฟเวอร์ที่เชื่อมต่อกับ 'ไคลเอนต์')


2
นอกจากนี้วิธีใช้นี้จะช่วยอธิบายรวมถึงข้อมูลเชิงลึกเกี่ยวกับสาเหตุที่ Wayland และการเปลี่ยน X อื่น ๆ กำลังถูกสร้างขึ้น: art.net/~hopkins/Don/unix-haters/x-windows/disaster.html
crajun

นั่นคือการคุยโว
Stefan Skoglund

และในอีกทางหนึ่งก็อธิบายลักษณะของเคนโอลเซ่นเรื่องยูนิกซ์ว่าเป็นผลิตภัณฑ์ของพ่อค้าน้ำมันงู แต่นั่นคือทุนนิยม! การเรียกร้องคือการออกแบบสำหรับ MOTIF และทำงานได้ทุกที่ทุกวันนี้มันก็เหมือนการออกแบบสำหรับ MS windows และทำงานได้ทุกที่ (ผูกขาดนี้ไม่ใช่ตลาด) Ken Olsen รู้ดีว่าการออกแบบสำหรับ MOTIF และการทำงานทุกอย่างไม่ได้อยู่ใน ความสนใจของผู้ผลิต - เพราะฉะนั้นมันจะไม่เกิดขึ้นจริง
Stefan Skoglund

1

แนวคิดบางประการ:
- X Windows System ระบบ Windowsing (ทำให้สามารถเคลื่อนย้ายหน้าต่างบนอุปกรณ์แสดงผลและโต้ตอบกับเมาส์และคีย์บอร์ด)
- X.Org Serverการใช้งานโอเพ่นซอร์สของ X Windows System โดย X.Org Foundation
- xterm terminal emulator สำหรับ X Windows System
- ไคลเอนต์ X : แอปพลิเคชันทำงานบนเซิร์ฟเวอร์ X ระบบ X windows ต้องการให้ไคลเอนต์และเซิร์ฟเวอร์ทำงานแยกกัน แอปพลิเคชันเช่น QT, GTK และไคลเอนต์ X อื่น ๆ ต้องการความร่วมมือจากเซิร์ฟเวอร์ X เพื่อให้ทำงานได้สำเร็จ

ก่อนหน้านี้ฉันรู้สึกสับสนมากกับปัญหานี้ เริ่มแรกฉันติดตั้งระบบ linux นอกเหนือจาก windows หลายครั้งที่ฉันพบปัญหากับข้อผิดพลาด Xorg
เมื่อเร็ว ๆ นี้ฉันใช้xclipบนเซิร์ฟเวอร์ระยะไกล ซอฟต์แวร์ต้องมีDISPLAYการตั้งค่าตัวแปรสภาพแวดล้อมซึ่งไม่ใช่ในเซิร์ฟเวอร์ระยะไกลของฉัน ไม่มีจอภาพเมาส์หรือคีย์บอร์ดและตัวแปรนั้นได้รับการจัดการโดยเซิร์ฟเวอร์ X


1

ระบบหน้าต่าง X11 มีการสนับสนุน (พร้อมการสนับสนุนเป็นพิเศษจากผู้ผลิต) สำหรับจำนวนงานก่อสร้าง / การออกแบบที่ค่อนข้างซับซ้อน

การใช้ DisplayPostscript ใน NeWS (Sun / Sony) หมายความว่าเซิร์ฟเวอร์มีการสนับสนุน PostScript ที่สมบูรณ์และค่อนข้างดี (Display) ในตัวการสนับสนุนนี้ได้รับการว่าจ้างจากแอปพลิเคชันจากระยะไกลเช่นโปรแกรมที่ทำงานบน cray x-mp ข้อ จำกัด / อินเทอร์เฟซ / ความสามารถเดียวกันแสดงแผนภูมิแผ่นดินไหวบนคอมพิวเตอร์ในลักษณะเดียวกับที่พิมพ์แผนภูมิเดียวกันบนเครื่องพิมพ์เลเซอร์ / เครื่องถ่ายเอกสารระดับสูง

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