2009-03-11 12 views
5

मैंने हाल ही में लिनक्स का उपयोग करना शुरू किया (जहां मैं काम करता हूं एक माइक्रोसॉफ्ट शॉप है, इसलिए मैं केवल सी # में कोड, एमएस उत्पादों आदि के साथ काम करता हूं)।एक्स 11/एक्स - लिनक्स डेस्कटॉप सॉफ्टवेयर, मुझे समझ में नहीं आता कि यह कैसे फिट बैठता है

मैं उच्च स्तर पर समझने की कोशिश कर रहा हूं कि लिनक्स में कुछ बुनियादी चीजें कैसे लटकाती हैं। मैं www.linfo.org

पढ़ रहा हूं वैसे भी मुझे कभी भी एक्स नहीं मिला है।

this article पढ़ने से मुझे लगता है कि एक्स एक परत है जो ऑपरेटिंग सिस्टम के शीर्ष पर बैठती है (ओएस के शीर्ष पर बैठे एक एक्स सर्वर?) और एक्स क्लाइंट अनुप्रयोग एक्स सर्वर के लिए अनुरोध करते हैं। मुझे लगता है कि केडीई, एक्सएफसी और जीनोम प्रदर्शन प्रबंधक हैं, क्या वे एक्स सर्वर क्लाइंट हैं?

मैं काफी उलझन में हूं जहां सबकुछ बैठता है।

कोई स्पष्टीकरण वास्तव में सराहना की जाएगी!

उत्तर

27

यह सब बहुत मॉड्यूलर और लचीला है; हालांकि यह जटिलता की ओर जाता है।

"एक्स सर्वर" डिस्प्ले डिवाइस चलाता है। यह ग्राहकों के लिए ग्राफिक्स सेवाएं प्रदान करता है और उन सेवाओं के बहुत सरल कर रहे हैं - जैसे:

"Give me a window frame to draw in" 

"Put this bitmap here" 

"Draw a horizontal black line 100px wide" 

"Render the text 'hello' at (100,100)" 

"Tell me if any mouse clicks or key presses have been aimed at my window frame" 

वहाँ एक्स द्वारा प्रदान की एक पुस्तकालय Xlib कहा जाता है, इन सभी सरल सेवाओं के लिए एक मानक इंटरफ़ेस है कि है। कोई भी प्रोग्राम जो एक्स सर्वर के डिस्प्ले का उपयोग करना चाहता है अंततः इस क्लाइंट लाइब्रेरी का उपयोग करता है और इसे एक्स क्लाइंट कहा जाता है। Xlib जानता है कि इन सेवाओं को कॉल करने के लिए स्थानीय मशीन पर, या लैन भर में या दुनिया भर में टीसीपी/आईपी के माध्यम से एक मनमानी एक्स सर्वर से कैसे कनेक्ट किया जाए।

विंडो प्रबंधक, जो कि सिर्फ एक और एक्स क्लाइंट प्रोग्राम है, डेस्कटॉप के "देखो और महसूस" का प्रभारी है - आप कैसे चलते हैं और खिड़कियां व्यवस्थित करते हैं आदि। क्योंकि खिड़की प्रबंधक सभी खिड़की की सजावट खींचता है, यह डेस्कटॉप को विंडोजएक्सपी, या मैक, या नेक्स्टस्टेपी की तरह दिख सकता है।

एक्स के दर्शन का हिस्सा "तंत्र और नीति नहीं" परिभाषित करना था - जिसका अर्थ है कि वे आपको ऐसा करने के लिए उपकरण देते हैं, लेकिन आपको यह नहीं बताते कि उन उपकरणों का उपयोग कैसे करें। ऐसा एक उपकरण विंडो प्रबंधक है, जिसे इच्छानुसार बदला जा सकता है।

कई आधुनिक एक्स अनुप्रयोग डेस्कटॉप वातावरण जैसे जीनोम या केडीई का उपयोग करने के लिए लिखे गए हैं। यह इन कार्यक्रमों को आकर्षित करने के लिए बटन और नियंत्रण का एक सतत सेट प्रदान करता है, और पारंपरिक रूप से एक्स में शामिल नहीं होने वाली कुछ चीज़ों के लिए एक सतत इंटरफ़ेस प्रदान करता है, लेकिन अक्सर डेस्कटॉप का हिस्सा माना जाता है - जैसे ड्रैग-एंड-ड्रॉप या कैसे पेश करना है एक मानक फ़ाइल चयनकर्ता संवाद बॉक्स।

डेस्कटॉप वातावरण आमतौर पर एक ऑब्जेक्ट मॉडल या प्रोग्रामैटिक इंटरफ़ेस प्रदान करता है जो सभी साधारण एक्स क्लाइंट अनुरोधों को बनाने का ख्याल रखता है और प्रोग्राम को और अधिक महत्वपूर्ण चीज़ों को संभालने देता है। इन निम्न-स्तरीय कॉलों को हटाने से एक और महत्वपूर्ण लाभ मिलता है - मंच स्वतंत्रता।

कई डेस्कटॉप वातावरण में एक विंडो प्रबंधक शामिल है, ताकि विंडो नियंत्रण और बटन का स्वरूप और अनुभव सुसंगत हो और पर्यावरण द्वारा प्रदान किए गए डेस्कटॉप रूपक के साथ काम करता हो। हालांकि, यह आमतौर पर अभी भी स्विच किया जा सकता है।

X सर्वर की जुदाई (प्रदर्शन चल रहा है) और एक्स क्लाइंट में कुछ प्रभाव पड़ता है (प्रदर्शन का उपयोग करना चाहते):

  • ग्राफिक्स प्रणाली जीयूआई कार्यक्रमों से अलग है, और वे एक वेब ब्राउज़र और वेब सर्वर के रूप में पूरी तरह से अलग कर रहे हैं।

  • तो जीयूआई प्रोग्राम स्थानीय मशीन पर प्रदर्शित नहीं हो रहा है - बस एक वेब ब्राउज़र की तरह स्थानीय मशीन पर वेब सर्वर पर इंगित करने की आवश्यकता नहीं है।

  • एक मशीन बस एक्स सर्वर के साथ क्लाइंट को चला सकती है।

  • डिस्प्ले वाली मशीन को क्लाइंट चलाने की आवश्यकता नहीं है - यह केवल एक्स सर्वर चला सकता है, और सभी क्लाइंट समर्पित मशीन पर चल सकते हैं। यह मूल पतला ग्राहक है: बड़े केंद्रीय सर्वर पर चलने वाले बड़े कार्यक्रम - उपयोगकर्ता के सामने डेस्क पर समर्पित हार्डवेयर द्वारा संचालित ग्राफिकल उपयोगकर्ता इंटरैक्शन के साथ।

  • आपको यह जानने की जरूरत है कि आपका एक्स सर्वर का नेटवर्क पता क्या है ताकि आप जीयूआई प्रोग्राम कह सकें जहां उनका जीयूआई प्रदर्शित किया जाए। (यह आमतौर पर DISPLAY पर्यावरण चर सेट करके किया जाता है)

  • आप कई अलग-अलग मशीनों से कई कार्यक्रमों को एक ही समय में एक ही डेस्कटॉप पर प्रदर्शित कर सकते हैं। यह सब कट-एंड-पेस्ट सहित निर्बाध रूप से संभाला जाता है।

+0

गनोम और केडीई जीयूआई ढांचे नहीं हैं। वे डेस्कटॉप वातावरण हैं। जीटीके + और केडेलिब्स उनके पीछे ढांचे हैं। साथ ही, ध्यान दें कि विंडो प्रबंधक स्वयं एक्स क्लाइंट हैं, साथ ही DE में सभी जीयूआई अनुप्रयोग भी हैं। – strager

+0

जिस तरह से खिड़की प्रबंधक काम करते हैं वह बहुत अच्छा है ... उनके पास एक हुक है जिसे एक नया ग्राहक कनेक्ट करते समय बुलाया जाता है और वे ग्राहक की खिड़की पकड़ लेते हैं और खुद को एक बच्चे की खिड़की के अंदर चिपकते हैं। यह बच्चा खिड़की है जो सीमा खींचती है और बंद/अधिकतम बटन इत्यादि खींचती है।(मुझे लगता है) – rmeador

+0

मैं एक उत्तर लिखने वाला था, लेकिन यह मैंने जो लिखा है उससे कहीं अधिक व्यापक है। बस एक बात: मैं जोड़ूंगा कि खिड़की प्रबंधक सिर्फ एक और एक्स क्लाइंट है। और वह एक्स आमतौर पर "एक्स", "एक्स 11" या "एक्स विंडो सिस्टम" के रूप में पेश किया जाता है)। मैं "एक्स 11" पसंद करता हूं क्योंकि यह छोटा और सुंदर स्पष्ट है। –

4

एक्स 11 एक नेटवर्क प्रोटोकॉल है, वर्तमान में रिलीज 7 (इसलिए X11R7) पर है। यह ग्राफिक्स और इनपुट जानकारी को समाहित करता है, और वर्तमान में स्थानीय स्क्रीन और इनपुट डिवाइस चला रहे एक्स सर्वर पर स्थानीय या दूरस्थ मशीन पर चल रहे एक्स क्लाइंट (एप्लिकेशन या विंडो मैनेजर) को जोड़ता है।

जीनोम, केडीई, एक्सएफसीई, और एलएक्सडीई डेस्कटॉप वातावरण हैं; उनमें ऐसे टुकड़े होते हैं जो एक्स सर्वर (मेटासिटी, केविन, इत्यादि) से बात करते हैं, लेकिन इसमें विनिर्देशों को भी शामिल किया जाता है जो अनुप्रयोगों का पालन करना चाहिए और पुस्तकालय जो डीई को "संबंधित" करने के लिए उपलब्ध हैं।

+0

आपका औसत एप्लिकेशन एक्स सर्वर के साथ भी बात करता है, हालांकि आमतौर पर एक टूलकिट लाइब्रेरी (उदा। जीटीके या क्यूटी) के माध्यम से अप्रत्यक्ष रूप से। – strager

2

इसके अलावा, यह याद रखना महत्वपूर्ण है कि एक्स सर्वर एक और प्रोग्राम है जो लिनक्स के तहत चलाया जाता है। इसके बारे में कुछ खास नहीं है, यह सिर्फ यह जानने के लिए होता है कि ग्राफिक्स कार्ड पर कैसे कब्जा करना है और वीडियो ड्राइवरों का उपयोग करके मॉनीटर को लेना है। आप कभी भी एक्स सैद्धांतिक रूप से एक्स सर्वर चलाने के बिना लिनक्स को बहुत खुशी से चला सकते हैं - हालांकि, आप कमांड लाइन प्रोग्राम तक सीमित होंगे।

इस प्रकार लिनक्स स्वयं को व्यवस्थित करता है - आधार पर कर्नेल, फिर कार्यक्रमों का एक सेट जो उच्च स्तर के कार्यक्रमों को कार्यक्षमता प्रदान करता है, जो स्वयं उच्च स्तर के कार्यक्रमों को कार्यक्षमता प्रदान करते हैं, जो सभी सॉफ्टवेयर के पूर्ण ढेर में बनते हैं मशीन का काम है (कहना, सामान्य डेस्कटॉप, सॉफ्टवेयर विकास, वेब सर्वर, आदि)।

कर्नेल और इसके मॉड्यूल से परे, कुछ भी 'विशेष' नहीं है।

संबंधित मुद्दे