इस लेख में हार्डवेयर त्वरण के साथ Ubuntu 10.04 LTS पर आधारित मल्टीसेट के कार्यान्वयन पर चर्चा की गई है। इस लेख में चर्चा किए गए उदाहरण को पहले ही कमीशन किया जा चुका है और एक नियमित मिन्स्क कार्यालय में लगभग छह महीने से काम कर रहा है। कार्य में तैयार प्रणाली के कार्यान्वयन और कार्यान्वयन की समस्याओं को एक साधारण छात्र-इलेक्ट्रिक ड्राइव के दृष्टिकोण से वर्णित किया गया है, जो सिस्टम प्रशासक के रूप में अंशकालिक काम करता है।
प्रविष्टि
यहां एक छोटे से कार्यालय में एक सिस्टम प्रशासक के रूप में काम करने का समय बिताया गया है जब कंप्यूटर के एक बेड़े को अपडेट करने में एक छोटी सी समस्या थी। आधुनिक कंप्यूटर प्रदर्शन का एक स्तर देते हैं जो कार्यालय कंप्यूटर के लिए आवश्यक से बहुत अधिक है। इसके अलावा, बाजार की वास्तविकताएं ऐसी हैं कि प्रदर्शन के अंतर का मूल्य पर बहुत कम प्रभाव पड़ता है। और ऐसा लगता है कि सस्ते एटम-आधारित कंप्यूटर व्यावहारिक रूप से कीमत के मामले में सामान्य Amd और Intel प्रोसेसर पर आधारित अधिक उत्पादक कंप्यूटरों से भिन्न नहीं हैं (Atom प्रोसेसर के साथ एक मदरबोर्ड की लागत मई 2010 के लिए लगभग 100-150 cu है, मिन्स्क, और वही एक ही मिन्स्क में अक्टूबर 2010 के लिए मूल्य)।
यही स्थिति हार्ड ड्राइव के साथ है: कार्यालय के काम के लिए 40-80 जीबी से अधिक के ड्राइव वॉल्यूम की आवश्यकता नहीं है। लेकिन इस तरह के हार्ड ड्राइव बाजार पर लगभग कभी नहीं प्रस्तुत किए जाते हैं। इस लेखन के समय, 160 जीबी ($ 38), 250 जीबी ($ 39), 320 जीबी ($ 40), 500 जीबी ($ 41) की क्षमता के साथ हार्ड ड्राइव थे, आगे मूल्य अंतर अधिक ध्यान देने योग्य हैं। कम क्षमता वाले हार्ड ड्राइव की प्रति गीगाबाइट की कीमत काफी अधिक है। अन्य सभी घटकों के साथ भी यही स्थिति है।
एक तार्किक सवाल उठता है, तर्कसंगत रूप से यह सब कैसे उपयोग किया जाए? चलो तार्किक रूप से आते हैं - सिस्टम की लागत को कम करने के लिए, आप या तो बदतर घटकों को खरीद सकते हैं (बहुत सस्ता नहीं), या कुछ घटकों को छोड़ दें। वास्तव में, कार्यस्थल पर इनपुट डिवाइस (कीबोर्ड, माउस, टैबलेट, आदि) और सूचना डिस्प्ले डिवाइस (मॉनिटर, प्रोजेक्टर, आदि) अनिवार्य हैं। बाकी उपयोगकर्ता प्रणाली विशेष रूप से चिंतित नहीं है, और आप इससे छुटकारा पा सकते हैं। बेशक, आप सब कुछ से छुटकारा नहीं मिलेगा। आइए सिस्टम यूनिट के कवर के नीचे देखें। यहां हम निश्चित रूप से मदरबोर्ड, वीडियो कार्ड (शायद पहले से ही मदरबोर्ड पर), प्रोसेसर (यह मदरबोर्ड पर भी हो सकते हैं), और मेमोरी देख सकते हैं। लेकिन बाकी घटक इतने महत्वपूर्ण नहीं हैं। ऑप्टिकल ड्राइव मांग में बहुत अधिक नहीं है, और इसलिए, सबसे अधिक संभावना है, यह नहीं होगा।
हार्ड ड्राइव भी एक दिलचस्प स्थिति है। यह नहीं हो सकता है, तो हमारे पास एक तथाकथित डिस्कलेस स्टेशन होगा। यहां, सर्वर (पीएक्सई + एनएफएस कार्यान्वयन और थोड़ा टैम्बोरिन) से नेटवर्क पर सभी जानकारी डाउनलोड की जाती है। लेकिन मुझे कुछ और चाहिए।
फिर दो कीबोर्ड, दो चूहों और दो मॉनिटर को एक कंप्यूटर से जोड़ने और उन्हें स्वतंत्र रूप से काम करने के लिए विचार आया। विदेशी स्रोतों में, ऐसी प्रणालियों को
मल्टीसैट कहा जाता है।
लेकिन आप वहां नहीं रुक सकते हैं, लेकिन एक डिस्कलेस मल्टीसैट स्टेशन बना सकते हैं। यह विकल्प एक सर्वर के साथ मल्टीसैट स्टेशनों की एक जोड़ी के लिए एकदम सही है। यह लेख नहीं माना जाता है।
आइए मल्टीसैट पर करीब से नज़र डालें। कीबोर्ड और चूहों की आवश्यक संख्या को जोड़ने के लिए, हमें यूएसबी पोर्ट का उपयोग करना होगा। अब यह कोई समस्या नहीं है। कई मॉनिटर कनेक्ट करने के लिए, हमें वीडियो कार्ड, या कई वीडियो कार्ड पर कई पोर्ट की आवश्यकता होती है, या इन विकल्पों को जोड़ते हैं।
यह सब स्थापित करने के बाद, हमें उन नौकरियों की संख्या प्राप्त करनी चाहिए जिनकी हमें उपयोगकर्ताओं की सभी आवश्यकताओं को पूरा करना चाहिए। इन उपयोगकर्ताओं के बीच सीपीयू समय और मेमोरी साझा की जाती है, और स्थिति जहां सभी उपयोगकर्ताओं को एक साथ सभी सिस्टम प्रदर्शन की आवश्यकता होती है, बहुत दुर्लभ है।
पहली नज़र में, एक बहुत ही लाभदायक प्रणाली प्राप्त की जाती है। लेकिन फिर भी, कुछ लोगों ने ऐसी प्रणालियों के बारे में क्यों सुना? इसका उत्तर काफी सरल है - इस तरह की प्रणाली स्थापित करना काफी जटिल है। और हर व्यवस्थापक (यहां तक कि प्रोफाईपी) इन सभी घटकों को एक साथ लाने और उन्हें काम करने में सक्षम नहीं होगा।
कार्यान्वयन के विकल्प
आइए ऐसी व्यवस्था को लागू करने की कोशिश करें। चलो एक ऑपरेटिंग सिस्टम चुनकर शुरू करते हैं। मल्टीसेट आधुनिक ऑपरेटिंग सिस्टम के आधार पर बनाया जा सकता है: लिनक्स, विंडोज और, संभवतः, अन्य।
कई के लिए तुरंत दिलचस्प है, विंडोज ओएस पर आधारित विकल्प वास्तव में अव्यावहारिक है। सबसे पहले, लाइसेंस ऐसे सिस्टम में विंडोज की एक प्रति स्थापित करने पर प्रतिबंध लगाता है, इसलिए इसे दो लाइसेंस खरीदने की आवश्यकता होती है, जो लागत बचत सहित कई फायदे को तुरंत मार देती है। दूसरे, ऐसी प्रणाली बनाने के लिए स्वयं बहुत समस्याग्रस्त है, क्योंकि अतिरिक्त सॉफ़्टवेयर लिखने या खरीदने की आवश्यकता है। कीमत के लिए, यह विकल्प दो स्वतंत्र कंप्यूटर खरीदने के विकल्प पर पहुंचता है, या इससे अधिक भी होता है। यह विकल्प
यहां माना जाता
है । इसके फायदे भी हैं - आपको ज्यादा सोचने और करने की जरूरत नहीं है। सब कुछ तैयार है, बस सॉफ्टवेयर डालें और परिणाम प्राप्त करें।
दूसरा विकल्प, लिनक्स-आधारित मल्टीसेट, कई समाधान हैं। उनमें से, एक हार्डवेयर त्वरण (XGL, Xephyr, Xnest, आदि) के बिना एक समाधान को एकल कर सकता है, और हार्डवेयर त्वरण (xorg) के साथ। यह लेख उबंटू लिनक्स 10.04 एलटीएस पर आधारित हार्डवेयर त्वरण के साथ मल्टीसेट के कार्यान्वयन का वर्णन करता है।
सिस्टम काफी लचीला है और किसी भी मॉनिटर के साथ काम कर सकता है। सिद्धांत रूप में, प्रत्येक वीडियो कार्ड अपने स्वयं के ग्राफिकल एक्स-सर्वर पर चलता है। इसके अलावा, प्रत्येक सर्वर अपने स्वयं के ग्राफिकल डेस्कटॉप वातावरण (Gnome, KDE, आदि) ... लाभ :) शुरू करता है। इसलिए, जिस पीसी पर मल्टीसैट सिस्टम आधारित होगा, उसमें आवश्यक संख्या में वीडियो कार्ड होने चाहिए।
वास्तव में, लिनक्स कर्नेल हार्डवेयर संसाधनों को वितरित करने के सभी कार्यों को संभालता है। ग्राफिक्स सर्वर अपने पूर्ण उपयोग में वीडियो कार्ड लेते हैं और लिनक्स कर्नेल से प्रोसेसर समय प्राप्त करते हैं।
कार्यान्वयन
अब चलो अभ्यास करने के लिए। अजीब तरह से पर्याप्त है, यह सिद्धांत से अलग है। मेरे मामले में, सिस्टम एक ASUS M3A78-CM मदरबोर्ड था जिसमें एक एकीकृत ATI Radeon 3100 ग्राफिक्स कार्ड था। एक दूसरा ATI Radeon 2600 ग्राफिक्स कार्ड एक पीसीआई एक्सप्रेस 16x स्लॉट में खरीदा और स्थापित किया गया था। अधिक ग्राफिक्स कार्ड स्थापित करना कोई समस्या नहीं है; समस्या पीसीआई एक्सप्रेस 1x वीडियो कार्ड प्राप्त कर रही है। लेकिन एक अद्भुत
समाधान है । अगला चरण: सुनिश्चित करें कि दो वीडियो कार्ड एक साथ काम करते हैं। यह माना जाता है कि इस बिंदु पर आपके पास पहले से ही लिनक्स ऑपरेटिंग सिस्टम स्थापित है, जहां एक उत्कृष्ट lspci कंसोल कमांड है जो आपके सिस्टम पर सभी pci डिवाइस दिखाता है। अपने आप को उन उपकरणों तक सीमित करने के लिए जिनमें वीजीए शब्द मौजूद है, आप इस डिज़ाइन को बना सकते हैं: lspci | grep वीजीए। मेरे मामले में, चित्र इस प्रकार था:
andrey@k211-multiseat:~$ lspci | grep VGA
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon 3100 Graphics
02:00.0 VGA compatible controller: ATI Technologies Inc RV630 [Radeon HD 2600 Series]
यहां हम अपने दो वीडियो कार्ड देखते हैं। बेशक, वे तुरंत यहां दिखाई नहीं दिए। मुझे एक-दो बार BIOS में जाना पड़ा और सेटिंग्स बदलनी पड़ी। परिणाम उम्मीदों पर खरा उतरा।
आगे, जड़ता द्वारा, मालिकाना एटीआई चालक स्थापित किया गया था। यह बहुत स्थूल त्रुटि थी। लेकिन मुझे बाद में इसका एहसास हुआ। और मैं आपको बाद में भी बताऊंगा :)।
अब थोड़ा और सिद्धांत। सिस्टम बूट कैसे करें पर विचार करें। प्रदर्शन प्रबंधक (जीडीएम, केडीएम, आदि) के लोड होने तक, बहुत सारी चीजें होती हैं, लेकिन यह इस लेख के दायरे से परे रहेगा। एक बार प्रदर्शन प्रबंधक बूट हो जाने के बाद, आपको उपयोगकर्ता नाम और पासवर्ड दर्ज करने की आवश्यकता होगी (या यदि आपने इसे इस तरह से कॉन्फ़िगर किया है) नहीं होगा। और फिर यह Xorg सर्वर और आपके चुने हुए कार्य वातावरण को लॉन्च करता है। यदि आप उसे अच्छी तरह से पूछते हैं, तो वह विभिन्न उपयोगकर्ताओं के लिए अलग सेटिंग्स के साथ कई Xorg- सर्वर चला सकता है और, यदि वांछित है, तो अलग-अलग डेस्कटॉप प्रबंधकों के साथ।
केडीएम सेटअप
और अब अभ्यास करना है। कुछ प्रदर्शन प्रबंधकों को राजी करना बहुत मुश्किल है और यहां तक कि उन्हें पैच (जीडीएम) करने की आवश्यकता है, इसलिए केडीएम चुनें, जो अधिक मिलनसार है। डिफ़ॉल्ट रूप से, यह सिस्टम पर स्थापित नहीं है। इंस्टॉलेशन कंसोल में एक साधारण कमांड द्वारा पूरा किया जाता है: sudo apt-get install kdm। हम सहमत हैं और प्रतीक्षा करते हैं। यदि सब कुछ सफल है, केडीएम स्थापित है। अब चलो उसे मनाने के लिए शुरू करते हैं :)। प्रबंधक की स्थापना के लिए जिम्मेदार फ़ाइल / etc / kde4 / kdm में स्थित है और इसे kdmrc कहा जाता है। इसकी बहुत सारी सेटिंग्स हैं, लेकिन हम केवल एक जोड़े में रुचि रखते हैं। [सामान्य] अनुभाग में, हम दो मापदंडों को इस तरह से बदलते हैं:
[General]
StaticServers=:0,:1
ReserveServers=:2,:3
इसका मतलब है कि केडीएम सर्वर 0 और 1 शुरू करेगा, और सर्वर 2 और 3 स्पर्श नहीं करेगा। अगला, [X-: 0-Core] अनुभाग देखें और इसमें सेटिंग को इस तरह बदलें:
[X-:0-Core]
ServerAttempts=2
ServerArgsLocal= -br -nolisten tcp -layout seat1 -isolateDevice PCI:2:0:0 vt6
AutoLoginEnable=true
AutoLoginUser=alexandr
पहले पैरामीटर ServerAttempts = 2, शायद कुछ भी प्रभावित नहीं करता है, यह एक टैम्बोरिन पर लंबे समय तक दस्तक देने और सिस्टम शुरू करने की कोशिश कर रहा है। जैसा कि वे कहते हैं, यह ऐतिहासिक रूप से हुआ :)।
सबसे महत्वपूर्ण पैरामीटर निम्नलिखित है, ServerArgsLocal = -br -nolisten tcp -layout seat1 -isolateDevice PCI: 2: 0: 0 vt6। इस पर विचार करें। ये Xorg ग्राफिक्स सर्वर शुरू करने के लिए तर्क हैं। आइए उन पर नजर डालते हैं:
-Br - एक ग्रे पैटर्न के बजाय एक काली पृष्ठभूमि होगी। तो थोड़ा प्रीतिकर।
-nolisten tcp - यह विकल्प कहता है कि आपको कार्य करने के लिए tcp / ip का उपयोग करने की आवश्यकता नहीं है, या सर्वर स्थानीय रूप से शुरू होता है।
-ऑलआउट सीट 1 आपको बताता है कि कौन से कॉन्फ़िगरेशन का उपयोग xorg.conf फ़ाइल (उस पर बाद में) से किया गया है।
-आईसोलेटडेविस PCI: 2: 0: 0 - मुख्य विकल्प, सर्वर को केवल एक वीडियो कार्ड का उपयोग करने के लिए कहता है, जो PCI: 2: 0: 0 है।
vt6 इंगित करता है कि सर्वर छठे वर्चुअल टर्मिनल पर शुरू होगा।
अगला विकल्प (AutoLoginEnable = true) उपयोगकर्ता AutoLoginUser = alexandr के तहत स्वचालित लॉगिन सक्षम करता है। इसे अपने उपयोगकर्ता नाम में बदलना न भूलें :)।
अगला, फ़ाइल को इस तरह से संशोधित करें:
[X-:1-Core]
ServerAttempts=2
ServerArgsLocal= -br -nolisten tcp -layout seat0 -sharevts -novtswitch -isolateDevice PCI:1:5:0 vt5
AutoLoginEnable=true
AutoLoginUser=andrey
हम पहले से ही लगभग सभी विकल्पों से परिचित हैं। -ऑउटआउट सीट0 पर ध्यान दें। यह xorg.conf फ़ाइल से सीट 0 के लिए एक और कॉन्फ़िगरेशन है। दो समान कॉन्फ़िगरेशन नहीं हो सकते, क्योंकि कुछ नहीं चलेगा। -IsolateDevice PCI: 1: 5: 0 डिवाइस और vt5 वर्चुअल टर्मिनल भी बदल गए हैं। -Sharevts विकल्प सर्वर को एक टर्मिनल पर एक साथ काम करने के लिए मजबूर करता है, और -novtswitch Ctrl + Alt + n दबाकर वर्तमान टर्मिनल को बदलने से मना करता है, जहां n वर्चुअल टर्मिनल की संख्या है। आप कंसोल (मैन xserver) से एक्स-सर्वर शुरू करने के विकल्पों के बारे में अधिक जान सकते हैं। अगला ऑटोलॉगिन को सक्षम करने का विकल्प है और उपयोगकर्ता नाम (एंड्री) इंगित किया गया है।
हां, और दो उपयोगकर्ता बनाने के लिए मत भूलना। आप ADDUSER कंसोल में कमांड के साथ ऐसा कर सकते हैं। एक ग्राफिकल शेल भी है। पहली शुरुआत में, आपको ऑटोलॉगिन विकल्प को अक्षम करना चाहिए ताकि आप मैन्युअल रूप से चित्रमय वातावरण का चयन कर सकें।
एक और महत्वपूर्ण बिंदु है। आपने शायद पहले ही देखा है कि वर्चुअल टर्मिनल 5 और 6 का उपयोग किया जाता है, और 7 का नहीं, जो कि xorg सर्वर के लिए डिफ़ॉल्ट है। यह इस तथ्य के कारण है कि यदि आप दूसरे कार्य केंद्र (एक काफी सामान्य संयोजन) के कीबोर्ड पर Ctrl + c दबाते हैं, तो vt7 क्रैश पर xorg। बहुत अप्रिय विशेषता। लेकिन यह किसी अन्य वीटी पर बस vt7 के साथ xorg को मिलाकर हल किया जाता है।
Xorg.conf सेटअप
अब हम मुख्य विन्यास के लिए आगे बढ़ते हैं, अर्थात्, हम एक ही सीट और सीट 1 को सेट करेंगे। ऐसा करने के लिए, हमें फ़ाइल /etc/X11/xorg.conf की आवश्यकता है, जो आपके पास नहीं हो सकता है, लेकिन आप इसे बना सकते हैं। हम इसमें ऐसी लाइनें लिखते हैं:
Section "ServerLayout"
Identifier "seat0"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
इसका मतलब यह है कि हमने स्क्रीन 0, माउस 0 और कीबोर्ड0 के साथ सीट 0 प्रोफाइल को परिभाषित किया है। दूसरी प्रोफ़ाइल को इसी तरह परिभाषित किया गया है:
Section "ServerLayout"
Identifier "seat1"
Screen 1 "Screen1" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
एक विचारशील पाठक शायद पहले से ही आश्चर्यचकित था: "स्क्रीन 1, माउस 1, कीबोर्ड 1, स्क्रीन 0, माउस 0, कीबोर्ड 0?" ये डिवाइस एक ही फाइल में परिभाषित हैं।
Section "InputDevice"
Identifier "Keyboard0"
Driver "evdev"
Option "Device" "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
Option "XkbModel" "pc105"
Option "XkbRules" "xorg"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection
आधुनिक लिनक्स में, evdev इनपुट डिवाइस के लिए जिम्मेदार है, इसलिए यह एक ड्राइवर के रूप में निर्दिष्ट है। सबसे कठिन सेटअप चरणों में से एक यह है कि आपको जिस कीबोर्ड की आवश्यकता है, उसके लिए पहचानकर्ता का निर्धारण करना। सभी इनपुट डिवाइस / देव / इनपुट / फ़ोल्डर में स्थित हैं, जहां वे उप-पथ और बाय-आईडी फ़ोल्डर में डुप्लिकेट हैं। या कीबोर्ड के लिए Event0 - Event5 फाइलें हैं। आपको उन कीबोर्ड में से एक चुनना होगा जो आपको पसंद है। सही विकल्प का निर्धारण करना काफी सरल है: कंसोल में सिर्फ sudo cat / dev / input / eventX टाइप करें, जहां X आपके कीबोर्ड की संख्या है। जब आप इस कीबोर्ड पर एक कुंजी दबाते हैं, तो कंसोल में एक प्रतीक दिखाई देना चाहिए।
इस तरह की प्रत्येक घटना कीबोर्ड में / dev / input / by-path / और / dev / input / by-id / के समान होती है। इसलिए इसे करें क्योंकि यह आपके लिए अधिक सुविधाजनक है। मेरे पास दो अलग-अलग कीबोर्ड हैं, इसलिए मेरे लिए मॉडल द्वारा नेविगेट करना अधिक सुविधाजनक है, लेकिन एक ही कीबोर्ड के साथ, यह संभवतः इवेंट के साथ काम करने के लिए अधिक सुविधाजनक होगा।
"XkbModel" विकल्प "pc105" का कहना है कि हमारे पास एक मानक 105-कुंजी कीबोर्ड होगा। "XkbLayout" विकल्प "us, ru (winkeys)" दो लेआउट जोड़ता है: हमें और ru (अंग्रेजी और रूसी)।
"XkbOptions" विकल्प "grp: alt_shift_toggle, grp_led: स्क्रॉल" का अर्थ है कि लेआउट को Alt + Shift संयोजन का उपयोग करके स्विच किया गया है, और स्क्रॉल लॉक एलईडी रूसी लेआउट के दौरान चालू रहेगा।
दूसरे कीबोर्ड के लिए, सब कुछ लगभग समान है:
Section "InputDevice"
Identifier "Keyboard1"
Driver "evdev"
Option "Device" "/dev/input/by-id/usb-Chicony_USB_Keyboard-event-kbd"
Option "XkbModel" "pc105"
Option "XkbRules" "xorg"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection
चलो चूहे पर चलते हैं।
Section "InputDevice"
Identifier "Mouse0"
Driver "evdev"
Option Device" "/dev/input/by-id/usb-PIXART_USB_OPTICAL_MOUSE-event-mouse"
Option "GrabDevice" "on"
Option "Buttons" "12"
EndSection
ऐसा लगता है कि सब कुछ कीबोर्ड में है, लेकिन विकल्प "GrabDevice" "ऑन" विकल्प है, जो अनन्य उपयोग में डिवाइस से सभी घटनाओं को कैप्चर करता है। और विकल्प "बटन" विकल्प "12" है, जो कहता है कि हमारे माउस में 12 चाबियाँ होंगी।
अब स्क्रीन।
Section "Screen"
Identifier "Screen0"
Device "Device0"
DefaultDepth 24
EndSection
हम उस डिवाइस को निर्धारित करते हैं जिससे स्क्रीन कनेक्ट होती है (Device0) और किसी भी स्थिति में, रंग की गहराई। हम दूसरी स्क्रीन के साथ भी ऐसा ही करते हैं।
Section "Screen"
Identifier "Screen1"
Device "Device1"
DefaultDepth 24
EndSection
और यहां उपकरण हैं।
Section "Device"
Identifier "Device0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "ATI 3100"
BusID "PCI:1:5:0"
Option "Int10" "off"
EndSection
एक बार फिर, मैं रैडॉन ड्राइवर पर ध्यान देता हूं। इसका कोई मतलब नहीं मालिकाना एटीआई चालक है (मैं एनवीडिया कार्ड के बारे में कुछ नहीं कह सकता, लेकिन सब कुछ विपरीत प्रतीत होता है)। थोड़ी देर बाद मैं और अधिक विस्तार से बताऊंगा कि क्यों। BusID "PCI: 1: 5: 0" - इस वीडियो कार्ड के लिए समान संख्या lspci | grep वीजीए। विकल्प "Int10" "बंद" BIOS रुकावट का उपयोग करके वीडियो कार्ड के प्रारंभ को अक्षम करता है। यह विकल्प आवश्यक है। इसके बिना, आप सफल नहीं होंगे।
और दूसरे वीडियो कार्ड के लिए।
Section "Device"
Identifier "Device1"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "ATI 2600"
BusID "PCI:2:0:0"
Option "Int10" "off"
EndSection
इसके अलावा xorg.conf फ़ाइल में, आपको सर्वर सेटिंग्स को निर्दिष्ट करना होगा।
Section "ServerFlags"
Option "DefaultServerLayout" "seat0"
Option "AllowMouseOpenFail" "true"
Option "AutoAddDevices" "false"
Option "AllowEmptyInput" "false"
EndSection
सभी विकल्पों पर विचार करें:
"DefaultServerLayout" "सीट 0" - अगर कुछ होता है kdm और xorg बिना मापदंडों के शुरू होता है, तो सर्वर को यह जानना होगा कि किस कॉन्फ़िगरेशन को लोड करना है।
"AllowMouseOpenFail" "सच" - भले ही कोई माउस न हो, माउस को काम करने पर विचार करें और सर्वर को भ्रमित न करें। अनिवार्य रूप से, यह काम नहीं करना चाहिए जब एवदेव का उपयोग किया जाता है। शायद अब उपयोग में नहीं है। लेकिन ऐतिहासिक रूप से यह हुआ :)
"AutoAddDevices" "false" - स्वचालित रूप से उन उपकरणों को जोड़ने पर रोक लगाता है, जो केवल xorg.conf फ़ाइल में पंजीकृत हैं। और फिर एक प्रकार का व्यक्ति माउस को कंप्यूटर से कनेक्ट करेगा, और, चीजों के तर्क के अनुसार, वह सभी कार्यस्थलों पर दिखाई देगा और इसी डेस्कटॉप के लिए परिभाषित माउस को बाधित करेगा। हमें इसकी आवश्यकता नहीं है, इसलिए हम इसे बंद कर देते हैं। और एक दयालु व्यक्ति को माउस को देखने दें और सोचें: "यह काम क्यों नहीं करता है?" एक अनधिकृत व्यक्ति को जटिल सिस्टम में चूहों को स्थापित करने की कोई आवश्यकता नहीं है। कुछ और तोड़ता है :)
"AllowEmptyInput" "झूठा" - माउस और कीबोर्ड के लिए एक मानक ड्राइवर नहीं जोड़ता है, अगर हम अचानक से माउस और कीबोर्ड को xorg.conf में पंजीकृत करना भूल गए।
पहले लॉन्च
यहां पहला चरण है और समाप्त हो गया है। अब आप रिबूट कर सकते हैं और, यदि सब कुछ ठीक रहा, तो आपको अपना लॉगिन और पासवर्ड दर्ज करने के लिए केडीएम प्रॉम्प्ट दिखाई देगा। यह एक उपयोगकर्ता नाम और पासवर्ड दर्ज करने के लिए बना हुआ है, एक कामकाजी वातावरण चुनना शुरू कर दिया है, फिर, यदि सब कुछ ठीक है, तो फ़ाइल / / / kde4 / kdm / kdmrc में ऑटोलॉगिन को सक्षम करें और सिस्टम को आगे कॉन्फ़िगर करें :)।
ग्राफिक सर्वर का मेरा लोडिंग इस प्रकार है:

इस तरह के एक सुंदर चित्र को अद्भुत बूटचार्ट कार्यक्रम द्वारा प्राप्त किया गया था। यहां देखें
पूरा शेड्यूलऔर अब मैं आपको बताऊंगा कि मालिकाना एटीआई चालक को स्थापित करना असंभव क्यों था। इस ड्राइवर को राजी करना बहुत मुश्किल है। वह -isolateDevice विकल्प को कुछ अलग तरीके से मानता है। Xorg सर्वर लॉग के एक लंबे विश्लेषण से पता चला कि ऐसा कुछ होता है।
पहला एक्स सर्वर (xorg1) शुरू करना, जो ATI मालिकाना चालक (fglrx1) को लॉन्च करता है।
fglrx1 - वाह, वीडियो कार्ड, वाह, यह मुझे सूट करता है। हम उसके साथ काम करेंगे।
fglrx1 - वाह, दूसरा। क्लास, मुझे चाहिए। सामान्य तौर पर, मैं उसे पसंद करता हूं, मैं उसे भी लेता हूं।
Xorg1 - ठीक है, हम काम कर रहे हैं।
दूसरा X सर्वर (xorg2) लॉन्च करना, जो ATI मालिकाना चालक (fglrx2) को लॉन्च करता है।
fglrx2 - उह, ग्राफिक्स कार्ड कहाँ है? नहीं, यार, मुझे समझ नहीं आ रहा है कि वीडियो कार्ड कहां है?
fglrx2 - ठीक है, बिना वीडियो कार्ड के काम करें।
Xorg2 - उह ... जिसने ड्राइवर को नाराज किया, उसने मुझे (कंप्यूटर से दूर भागते हुए) क्यों छोड़ दिया? वापस आओ, fglrx2, मैं सब कुछ माफ कर दूंगा।
एक खुले ड्राइवर के साथ यह नहीं है। यह एक अलग डिवाइस पर लॉन्च विकल्प को पूरी तरह से पहचानता है।
हल किए गए मुद्दे
हम आगे सिस्टम को कॉन्फ़िगर करना जारी रखते हैं। यद्यपि सब कुछ काम करता है, लेकिन हमेशा कई छोटी चीजें होती हैं जो पहली नज़र में ध्यान देने योग्य नहीं होती हैं। जब हमने बस कॉन्फ़िगर करना शुरू किया, तो हम यह भी नहीं मान सकते थे कि इस कॉन्फ़िगरेशन में कंप्यूटर को पुनरारंभ करने और बंद करने से मना कर दिया जाएगा। यह प्रतीत होता है, क्यों? और सभी
ConsoleKit और
PolicyKit जैसी दिलचस्प चीजों के
कारण । उन पर बहुत अधिक जानकारी नहीं है, लेकिन यह सभी इस तथ्य से उब जाता है कि पॉलिसीकीट विशेषाधिकार प्राप्त प्रक्रियाओं को विशेषाधिकार प्राप्त लोगों के साथ संवाद करने की अनुमति देता है। या, अधिक सरलता से, यह सिस्टम पॉलिसी को नियंत्रित करता है। हमारे मामले में, यह वह है जो हमें कंप्यूटर को बंद करने की अनुमति नहीं देता है, क्योंकि हमारे पास इस पर अधिकार नहीं है। पॉलिसीकिट के बारे में जानकारी जो हम एक ही कंसोलकोइट द्वारा दी गई है, और इस सबसिस्टम का कार्य उपयोगकर्ताओं, उनके सत्रों और बहुत ही सेट को ट्रैक करना है। लेकिन यह दुर्भाग्य है, प्रलेखन में एक बहुत बुरा नोट है: "यह सच है, हार्डवेयर, बहु-सीट क्षमताओं को बाद के रिलीज में जोड़ा जाएगा"। और हम अब मल्टीसैट चाहते हैं। आप ConsoleKit को पैच कर सकते हैं, लेकिन आइए थोड़ा गहराई से देखें और देखें कि क्या आप इसके बिना कर सकते हैं। जब कोई उपयोगकर्ता सिस्टम पर लॉग ऑन करता है, तो उसके लिए एक सत्र बनाया जाता है, और सत्र सक्रिय के रूप में चिह्नित किया जाता है। लेकिन जब दो उपयोगकर्ता एक साथ लॉग इन करते हैं (हमारी मल्टीसैट), तो वे दो सत्र बनाते हैं, लेकिन कंसोल कंसोल खो जाता है और उन्हें निष्क्रिय कर देता है। कंसोल में ck-list-session टाइप करके आप वर्तमान सत्र देख सकते हैं।
andrey@k211-multiseat:~$ ck-list-sessions
Session1:
unix-user = '1000'
realname = ''
seat = 'Seat3'
session-type = ''
active = FALSE
x11-display = ':1'
x11-display-device = ''
display-device = ''
remote-host-name = ''
is-local = TRUE
on-since = '2010-10-25T14:14:04.812473Z'
login-session-id = ''
Session2:
unix-user = '1001'
realname = ''
seat = 'Seat4'
session-type = ''
active = FALSE
x11-display = ':0'
x11-display-device = ''
display-device = ''
remote-host-name = ''
is-local = TRUE
on-since = '2010-10-25T14:14:05.146443Z'
login-session-id = ''
जब तक मैंने दूसरे छोर से जाने का फैसला किया तब तक लंबे समय तक मैंने कंसोल कंसोल को मनाने की कोशिश की। कंप्यूटर पॉलिसीकीट को बंद करने की अनुमति नहीं देता है, जिसमें कंप्यूटर को बंद करने के नियम हैं, और निष्क्रिय उपयोगकर्ता नहीं लगता है। हम कंप्यूटर को बंद करने के लिए ज़िम्मेदार फ़ाइल की तलाश करते हैं और इस फ़ोल्डर / usr / share / polkit-1 / कार्रवाइयों में सभी नीतियों को ढूंढते हैं। फाइल को बंद करने, रिबूट करने आदि के लिए जिम्मेदार। org.freedesktop.consolekit.policy कहा जाता है। हम इसे खोलते हैं। और हम एक नियमित xml फ़ाइल देखते हैं। अनुभाग में हम कई घटनाओं को देखते हैं। पहले को देखते हैं।
Stop the system
System policy prevents stopping the system
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
कार्रवाई आईडी फ़ील्ड कार्रवाई को इंगित करता है। इस मामले में, यह सिस्टम को बंद कर रहा है। जो इस प्रकार है, वह विवरण है, अर्थात इसका वर्णन क्या है। यदि इस क्रिया के लिए प्राधिकरण आवश्यक है तो यह पाठ प्रदर्शित किया जाएगा। संदेश फ़ील्ड संदेश को इंगित करता है कि व्यक्ति को प्राप्त होगा यदि प्राधिकरण आवश्यक है। अगला वह खंड है जो क्रियाओं के लिए अनुमतियों का प्रबंधन करता है। इसके दो क्षेत्र हैं: allow_inactive - एक निष्क्रिय उपयोगकर्ता को कार्रवाई करने की अनुमति की स्थिति (दोनों, हाँ यह ConsoleKet में हमारा निष्क्रिय सत्र है) और allow_active - सक्रिय एक को। सामान्य तौर पर,
प्रलेखन भी allow_any क्षेत्र की बात करता है। लेकिन इस प्रणाली के निर्माण के समय, मैंने इसके बारे में कुछ भी नहीं सुना था, शायद विकल्प बाद में दिखाई दिया। निम्नलिखित कुंजियाँ पैरामीटर के रूप में कार्य कर सकती हैं:
नहीं - कार्रवाई से इनकार
हाँ - कार्रवाई की अनुमति दें
Pers_self - उपयोगकर्ता पासवर्ड का अनुरोध करें
Pers_admin - व्यवस्थापक पासवर्ड का अनुरोध करें
Pers_self_keep - उपयोगकर्ता पासवर्ड का अनुरोध करें और इसे कुछ समय के लिए याद रखें
Pers_admin_keep - एक व्यवस्थापक पासवर्ड का अनुरोध करें और इसे थोड़ी देर के लिए याद रखें।
अब हम विकल्प को बदलते हैं <allow_inactive> no </ allow_inactive> से <allow_inactive> Yes </ allow_inactive> और हम किसी भी उपयोगकर्ता से कंप्यूटर बंद कर सकते हैं, लेकिन बशर्ते कि हमारे पास कंप्यूटर पर केवल एक सत्र हो, और दो नहीं। अन्य कार्यों के लिए, आपको निम्नलिखित के लिए विकल्प बदलने चाहिए:
Stop the system when multiple users are logged in
System policy prevents stopping the system when other users are logged in
<message xml:lang="ru">! . ?
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
अब, यह हमारा मामला है। हमारे पास दो उपयोगकर्ता हैं, और जब कोई कंप्यूटर बंद करना चाहता है, तो एक विंडो उसे एक पासवर्ड दर्ज करने के लिए कहती है। यदि सिस्टम में एक उपयोगकर्ता है, तो विंडो दिखाई नहीं देगी।
कई पूछेंगे, पासवर्ड क्यों? आइए स्थिति की कल्पना करें। यहां एक कंप्यूटर पर दो लोग काम कर रहे हैं। एक घर जा रहा है और कंप्यूटर बंद कर रहा है, यह भूल गया कि दूसरा व्यक्ति अभी भी काम कर रहा है। नतीजतन, कंप्यूटर दूसरे के महान आक्रोश को बंद कर देता है, जो घटनाओं के इस तरह के विकास के लिए तैयार नहीं है। पासवर्ड दर्ज करने के लिए एक बार फिर से चेतावनी की आवश्यकता है, फिर भी दोनों उपयोगकर्ताओं की नसों को बचाएगा।
अन्य पैरामीटर समान हैं।
Restart the system
System policy prevents restarting the system
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
Restart the system when multiple users are logged in
System policy prevents restarting the system when other users are logged in
<message xml:lang="ru">! . ?
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
कंप्यूटर को बंद करने और फिर से चालू करने के साथ।
USB चिपक जाती है
USB ड्राइव का उपयोग करते समय एक और दिलचस्प स्थिति होती है। हम एक फ्लैश ड्राइव डालते हैं, और गनोम की दो प्रतियां (मेरे मामले में) लड़ाई के लिए कि कौन इसे माउंट करेगा। उनमें से केवल एक जीतता है, और दूसरा अपमानजनक रूप से एक गलती की शपथ लेता है। इसके अलावा, पहला इसे केवल अपने उपयोगकर्ता के लिए अधिकारों के साथ माउंट करता है, और दूसरा इसे फ्लैश ड्राइव पर अनुमति नहीं देता है। एक ऐसी अप्रिय स्थिति जो पूरे मल्टीसेट उद्यम को बर्बाद कर सकती है। हम उससे लड़ेंगे।
विकल्प जो तुरंत ध्यान में आया - हार्डवेयर में थोड़ा नीचे जाएं और फ्लैश ड्राइव को गनोम पर माउंट करें। मुझे मैनुअल पढ़ना और Google के साथ परामर्श करना था। और जवाब मिला। उसका नाम UDEV है। UDEV एक उपकरण प्रबंधक है जो घटक के उपयोग से पहले सिस्टम में दिखाई देने पर एक उपकरण को बनाए रखने का ख्याल रखता है। उसके विवेक पर, वापसी पथ सिस्टम से डिवाइस की सटीक वापसी है।
लेकिन किसी भी ड्राइव के लिए अपनी विशेषताएं हैं। यह न केवल घुड़सवार होना चाहिए, बल्कि अनमाउंट भी होना चाहिए। और स्थिति यह है - फ्लैश ड्राइव कनेक्ट होने पर ड्राइव को माउंट किया जाता है, और अनमाउंट करने के लिए इसे उपयोगकर्ता से एक कमांड दिया जाना चाहिए (सही माउस बटन का उपयोग करके → सुरक्षित रूप से ड्राइव डिस्कनेक्ट करें)। यदि डिवाइस चिह्न / etc / fstab फ़ाइल में है, तो कोई भी उपयोगकर्ता डिवाइस को अनमाउंट कर सकता है, अन्यथा केवल व्यवस्थापक अधिकारों वाला उपयोगकर्ता ही ऐसा कर सकता है। हमारी योजना यह है: फ्लैश ड्राइव कनेक्ट करते समय, / etc / fstab, कॉल माउंट में बढ़ते के लिए पैरामीटर लिखें, हमें एक फ्लैश ड्राइव मिलता है। जब आप डिवाइस को सुरक्षित रूप से हटाने के लिए क्लिक करते हैं, तो umount को कॉल करें।
इस ब्लॉग पर मूल विचार पाया गया था।
UDEV सेटअप
सभी UDEV नियम /etc/udev/rules.d फ़ोल्डर में स्थित हैं। नियम वर्णानुक्रम में काम करना शुरू करते हैं। नियमों का नाम मायने नहीं रखता। अपने लिए, मैंने निम्नलिखित सामग्री के साथ एक 40-usbmount.rules फ़ाइल बनाई:
ACTION=="add", KERNEL=="sd[bz][0-9]", RUN+="/bin/mkdir -p /media/%k"
ACTION=="add", KERNEL=="sd[bz][0-9]", RUN+="/bin/sed -i '/\/dev\/%k.*/d' /etc/fstab"
ACTION=="add", KERNEL=="sd[bz][0-9]", RUN+="/bin/sed -i '$a\/dev/%k /media/%k auto rw,noauto,noexec,nodev,noatime,users,iocharset=utf8,uid=1000,gid=100,umask=0, 0 0' /etc/fstab"
ACTION=="add", KERNEL=="sd[az][0-9]", RUN+="/bin/mount /dev/%k"
ACTION=="remove", KERNEL=="sd[bz][0-9]", RUN+="/bin/umount -l /dev/%k"
ACTION=="remove", KERNEL=="sd[bz][0-9]", RUN+="/bin/rmdir /media/%k"
ACTION=="remove", KERNEL=="sd[bz][0-9]", RUN+="/bin/sed -i '/\/dev\/%k.*/d' /etc/fstab"
देखते हैं कि यहां क्या होता है। आइए पहले चार पंक्तियों को देखें। वे एक डिवाइस को जोड़ने पर काम करते हैं (ACTION == "एड"), अर्थात, हमारा फ्लैश ड्राइव (KERNEL == "sd [bz] [0-9]"), और उसके बाद RUN + = "कमांड" कमांड लॉन्च किया गया है। == चिन्ह एक स्थिति को दर्शाता है। यदि सही है, तो लाइन को आगे निष्पादित किया जाता है, यदि गलत है, तो छोड़ दिया गया है। मेरे पास अपने सिस्टम में एक हार्ड ड्राइव है - एसडीए। जैसा कि अधिकांश लिनक्स उपयोगकर्ता जानते हैं (कम से कम मुझे ऐसा लगता है), लिनक्स में डिस्क को एसडी [एक्स] [वाई] द्वारा निरूपित किया जाता है, जहां एक्स लैटिन अक्षर का अक्षर है, डिस्क के क्रम में (ए पहला, बी दूसरा है, और टी है) .d) और डिस्क विभाजन संख्या है। इसलिए, मेरे मामले में, KERNEL == "sd [bz] [0-9]" है। यदि आपके पास दो हार्ड ड्राइव हैं, तो आपको रिकॉर्ड को निम्नलिखित KERNEL == "sd [c-z] [0-9]" में बदलना चाहिए। और इसी तरह। RUN + = ऑपरेटर का अनुसरण करने वाले कमानों पर थोड़ी देर बाद चर्चा की जाएगी।
अंतिम तीन कमांड तब काम करते हैं जब उपकरण बंद हो जाता है (ACTION == "हटाएं"), यह सुरक्षित हटाने या बस एक खींचा फ्लैश ड्राइव हो। यह एक ही हटाने योग्य ड्राइव पर काम करता है।
अब RUN + = ऑपरेटर के बाद आने वाले कमांड्स पर विचार करें। यह कथन उपयोग किए गए अनुप्रयोगों को निर्दिष्ट करता है, जो पिछले सभी स्थितियों के सही होने पर शुरू होना चाहिए। एक छोटी सी बारीकियां भी हैं: आपको निष्पादन योग्य फ़ाइल के लिए पूर्ण पथ निर्दिष्ट करना होगा।
कमांड / बिन / mkdir -p / मीडिया /% k ड्राइव को और बढ़ते के लिए एक फ़ोल्डर बनाता है। % k एक UDEV वैरिएबल है जो उस उपकरण के नाम को दर्शाता है जिसने इस नियम को चालू किया। यही है, जब आप फ्लैश ड्राइव कनेक्ट करते हैं, तो यह sdb1 (मेरे मामले में) होगा। और जब यह कमांड चालू हो जाता है, तो / मीडिया / sdb1 फ़ोल्डर बनाया जाना चाहिए। हम फ़ोल्डर को / मीडिया में बनाते हैं, क्योंकि उबंटू में यह प्रथागत है। और हम न्यूनतम अंतर के साथ एक प्रणाली बनाना चाहते हैं।
निम्नलिखित कमांड / बिन / sed -i '/\/dev\/%k.*/d' / etc / fstab है। टीम पहले से ही थोड़ी जटिल है। यह / etc / fstab फ़ाइल से हमारे डिवाइस के सभी संदर्भों को हटा देना चाहिए। यदि अचानक हमने गलती से कंप्यूटर को फ्लैश ड्राइव के साथ बंद कर दिया, तो हमें फ्लैश ड्राइव के आगे बढ़ते हुए एक छोटी सी समस्या होगी। इस लाइन का मुकाबला करने के लिए बनाया गया है। इसे क्रम में लेते हैं। / बिन / sed कमांड को -i स्विच के साथ लॉन्च किया जाता है, जिसका अर्थ है कि आपको कमांड के अंत में निर्दिष्ट फ़ाइल को संपादित करने की आवश्यकता है (हमारे मामले में / etc / fstab में)।
कमांड का मध्य भाग '/\/dev\/%k.*/d' एक नियमित अभिव्यक्ति है, जिसका अर्थ है कि हम /देव / sdb.* (हमारे उदाहरण के लिए) का उल्लेख करके सब कुछ तलाशते हैं और, इस तरह की एक लाइन मिल रही है, इसे हटा दें।कमांड / बिन / sed -i '$ a \ / dev /% k / मीडिया /% k ऑटो rw, noauto, noexec, nodev, noatime, उपयोगकर्ता, iocharset = utf8, uid = 1000, gid = 100, umask = 0 0 0 '/ etc / fstab फाइल / etc / fstab में एक नई लाइन ($ a) में प्रविष्टि लिखता है। हमारे मामले में, लाइन / dev / sdb1 / media / sdb1 auto rw, noauto, noexec, nodev, noatime, users, iocharset = utf8, uid = 1000, gid = 100, umask = 0, 0 0सब कुछ होगा जो sdb1 के बाद आता है। , ये बढ़ते हुए पैरामीटर हैं, मैं उनके बारे में थोड़ी देर बाद बात करूंगा।हमारी स्क्रिप्ट में, कमांड / बिन / माउंट / देव /% k आगे जाता है। यहां सब कुछ सरल है।
डिवाइस / देव / sdb1 के माउंट कमांड को (मेरे मामले के लिए) / etc / fabab फ़ाइल में निर्दिष्ट मापदंडों के साथ कहा जाता है। ये वही पैरामीटर हैं जो मैंने आपको थोड़े समय बाद बताने का वादा किया था। मैं इसे थोड़ी देर बाद करूँगा :) इस स्तर पर, आप एक फ्लैश ड्राइव के साथ काम कर सकते हैं।यदि आप एक फ्लैश ड्राइव के साथ पर्याप्त काम कर चुके हैं और आप इसे हटाना चाहते हैं, तो शेष तीन पंक्तियों को निष्पादित किया जाएगा। कमांड / बिन / umount -l / dev /% k फ्लैश ड्राइव को अनमाउंट करता है।-L स्विच का मतलब है आलसी बेशुमार। बहुत खतरनाक विकल्प। वास्तव में, यह सभी खुली फाइलों को अनदेखा करता है, लेकिन उपयोगकर्ता से अनावश्यक प्रश्न नहीं पूछता है। हालाँकि, यह फ़ाइल सिस्टम की अखंडता की गारंटी देता है।/ बिन / rmdir / मीडिया /% k उस फ़ोल्डर को हटा देता है जिसमें फ्लैश ड्राइव माउंट किया गया था।/ बिन / sed -i '/\/dev\/%k.*/d' / etc / fstab fstab फ़ाइल से फ्लैश ड्राइव प्रविष्टि को हटाता है। उसका काम हम पहले ही ऊपर विचार कर चुके हैं।यह तरीका सही नहीं है। मान लीजिए कि मैं गलती से इस तथ्य पर आया था कि वह USB CD-ROM को नहीं समझता है। और शायद कुछ और। लेकिन समस्या, वास्तव में इन उपकरणों को लाइन KERNEL == "sd [bz] [0-9]" में जोड़कर हल की जाती है। यह केवल इन उपकरणों के नाम का पता लगाने के लिए बनी हुई है। यदि वे आपके सिस्टम में उपयोग किए जाते हैं, तो यह करना आसान है। कोई भी नहीं है, लेकिन वे संभावित रूप से प्रकट हो सकते हैं, फिर स्थिति थोड़ी अधिक जटिल हो जाती है।लिनक्स की मदद से UDEV के बारे में अधिक जानकारी प्राप्त करें। ऐसा करने के लिए, यार udv कंसोल में बस टाइप करें।उस समय से निपटने का समय आ गया है जब हमने / etc / fstab फ़ाइल में प्रवेश किया था।Fstab फ़ाइल में प्रविष्टि एक "क्या - जहां - फाइल सिस्टम - माउंट विकल्प - डंप के लिए झंडा - चेक फ्लैग" निर्माण है।हमारे मामले के लिए, यह / dev / sdb1 / media / sdb1 auto rw, noauto, noexec, nodev, noatime, users, iocharset = utf8, uid = 1000, gid = 100, umask = 0, 0 0यहाँ / देव / देव / की तरह दिखेगा। sdb1-- वह डिवाइस जिसे हम माउंट करना चाहते हैं। / मीडिया / sdb1-- वह पथ जहां हम उपकरण माउंट करना चाहते हैं।अगला फ़ाइल सिस्टम प्रकार है। ऑटो का मतलब है कि फ़ाइल सिस्टम प्रकार स्वचालित रूप से पता लगाया जाएगा। काफी सुविधाजनक है, क्योंकि विंडोज की दुनिया में भी फ्लैश ड्राइव के लिए कम से कम दो फाइल सिस्टम हैं: वसा और एनटीएफएस।उसके बाद, माउंट विकल्प हैं:आरडब्ल्यू - ड्राइव को पढ़ने और लिखने दोनों के लिए मुहिम की जाती है।noauto - इस प्रविष्टि को माउंट -a कमांड द्वारा स्वीकार नहीं किया जाएगा। यानी सभी उपलब्ध उपकरणों को बढ़ाना।noexec - बाइनरी फ़ाइलों को लॉन्च करने के लिए अनुमति ध्वज 0 पर सेट है। अर्थात, आप इस फ्लैश ड्राइव से सीधे बाइनरी फाइलें नहीं चला सकते हैं। आपको फ़ाइल को चलाने के लिए अनुमति ध्वज सेट करना होगा।नोडव - इंगित करता है कि उपकरणों को इस फाइल सिस्टम (/ देव फ़ोल्डर) पर नहीं रखा जा सकता है।noatime - फ़ाइल का उपयोग समय अपडेट न करें। विवरण के अनुसार, यह तेजी से काम करना चाहिए।उपयोगकर्ता - एक साधारण उपयोगकर्ता, न केवल रूट, इस डिवाइस को माउंट कर सकता है।iocharset = utf8 - फाइल सिस्टम एन्कोडिंग। यह विकल्प केवल वसा और एनटीएफएस फाइल सिस्टम के लिए विशिष्ट है।uid = 1000 - उस उपयोगकर्ता का आईडी, जिसके अधिकार फ़ाइल पर लागू होंगे। विकल्प केवल फ़ाइल सिस्टम के लिए विशिष्ट है वसा और ntfsgid = 100 - समूह का आईडी जिसका अधिकार फ़ाइल पर लागू होगा। दो या दो से अधिक उपयोगकर्ताओं को एक समूह में जोड़ना न भूलें ताकि वे बिना किसी समस्या के फ्लैश ड्राइव के साथ काम कर सकें, क्योंकि यह सभी द्वारा तुरंत मुहिम शुरू की जाती है। यदि उपयोगकर्ता विभिन्न समूहों में हैं, तो एक समूह फ्लैश ड्राइव के साथ काम करने में सक्षम नहीं होगा। यह विकल्प केवल वसा और एनटीएफएस फाइल सिस्टम के लिए विशिष्ट है।umask = 0 - फ़ाइल एक्सेस मास्क। शून्य का अर्थ है कि यह डिफ़ॉल्ट रूप से बना हुआ है। आप इसके बारे में विकिपीडिया पर अधिक जान सकते हैं ।पेनल्टीमेट जीरो का मतलब है कि आपको डंप यूटिलिटी के साथ फाइल सिस्टम का बैकअप लेने की जरूरत नहीं है। और आखिरी बात यह है कि आपको फ़ाइल सिस्टम को fsck उपयोगिता के साथ जांचने की आवश्यकता नहीं है।आप और अधिक विस्तार से अन्य सभी बढ़ते विकल्पों के साथ परिचित हो सकते हैं आदमी fstab और कंसोल में मैन माउंट कमांड का उपयोग करके।हमने यह पता लगाने के बाद कि फ्लैश ड्राइव को कैसे माउंट किया जाए और एक नया नियम बनाया, हमें किसी तरह यूडीवीवी को इसके बारे में बताना होगा, अन्यथा वह हमारे परिवर्तनों के बारे में कैसे जान पाएगा। ऐसा करने के लिए, कंसोल में udevadm control -reload-rules टाइप करें। अब आप फ्लैश ड्राइव डाल सकते हैं और काम के परिणाम को देख सकते हैं।अनुभव का उपयोग करें
वास्तव में यह सब है। पर्दे के पीछे, ज़ाहिर है, कई सवाल बाकी हैं। मान लीजिए कि मैंने ऑडियो सिस्टम के साथ समस्या को हल नहीं किया है, अर्थात, दो वर्कस्टेशन से ध्वनि को अलग-अलग ऑडियो आउटपुट में अलग करने के साथ। काम के आधे साल के लिए, यह कभी किसी की जरूरत नहीं रही है। कंप्यूटर अभी भी कार्यालय है।सिस्टम की ज्ञात समस्याओं के बीच, यह ध्यान दिया जाना चाहिए कि फ्लैश-वीडियो डबल गति से खेला जाता है, और मानक प्ले वीडियो सभी दोगुनी गति से खेलते हैं। VLC सामान्य रूप से सब कुछ पुन: पेश करता है।और अब शायद सबसे दिलचस्प प्रणाली का उपयोग करने का अनुभव है। इस कंप्यूटर पर दो उपयोगकर्ता बैठे हैं। एक पुरुष और एक महिला। ये दोनों लोग 50 साल से थोड़े बड़े हैं। वे कार्यालय दस्तावेजों और कार्यालय के खिलौने के एक जोड़े के साथ शोर बॉक्स के स्तर पर कंप्यूटर से परिचित हैं। इससे पहले, वे Windows XP का उपयोग करते थे। उन्हें संक्रमण की समस्या नहीं थी। कुल मिलाकर, मैंने इन लोगों से परामर्श करने में लगभग एक घंटा बिताया, यह कुछ हफ़्ते में कुल समय है। अधिकांश सवाल पहले उठे - लेकिन फिर भी असामान्य थे। आदमी को पहले से ही पता चल गया कि आवेदन केंद्र में अपने पसंदीदा कार्ड खिलौने कैसे स्थापित करें, और यहां तक कि उसके लिए खिलौने के साथ महिला को प्रसन्न किया। हालांकि अभी तक यह व्यक्ति वास्तव में समझ नहीं पाया है कि विंडोज पर प्रोग्राम कैसे स्थापित किया जाए। तो सिस्टम को काफी उपयोगकर्ता के अनुकूल कहा जा सकता है।आंतरिक नेटवर्क एक नियमित सर्वर (कंप्यूटर को बंद न करने वाला :)) का उपयोग करता है। संक्रमण मेनू में इसका लिंक सफलतापूर्वक बनाया गया था, और वहां से इसका उपयोग पहले से ही किया जा रहा है। महिला वास्तव में सलाहकार + कार्यक्रम देखना चाहती थी। कार्यक्रम की शुरुआत शराब के माध्यम से हुई।ज्यादातर समस्याएं विशुद्ध रूप से मनोवैज्ञानिक निकलीं, लोग हर चीज से डरते हैं। कोई भी कुछ भी समझना नहीं चाहता है, लेकिन यह शायद दुनिया में ज्यादातर लोगों की समस्या है। और यहां, शायद, आप केवल मजबूर या प्रेरित कर सकते हैं। साथ ही, लोगों को नई चीजें सिखाने की जरूरत है। यह बहुत बुरा है कि अधिकारियों को यह समझ में नहीं आता है। सिस्टम में एंटीवायरस की कमी से लोग बहुत भ्रमित होते हैं। अंत तक, वे अभी भी मुझे विश्वास नहीं करते थे कि यह आवश्यक नहीं था। यह सबसे बड़ी मनोवैज्ञानिक समस्याओं में से एक है। एंटीवायरस सॉफ़्टवेयर के आदी हो चुके उपयोगकर्ता (इससे पहले उन्हें प्रशिक्षित किया जाना था) एंटीवायरस सॉफ़्टवेयर की अनुपस्थिति में बहुत असुविधा महसूस करते हैं। उपयोगकर्ता किसी के साथ कंप्यूटर साझा करने के लिए भी बहुत असामान्य हैं, और उन्हें डर है कि उनके महत्वपूर्ण कार्यालय दस्तावेज़ हटा दिए जाएंगे। उसी समय, उपयोगकर्ता सर्वर पर कचरा में महत्वपूर्ण जानकारी को डंप करने से डरते नहीं हैं, जहां हर कोई अपनी फ़ाइलों को मिटा सकता है।उन्हें यह समझाना बहुत मुश्किल था कि उनके डेस्कटॉप अलग-अलग हैं और वे एक उपयोगकर्ता के होम डायरेक्टरी में दूसरे के लिए फाइल डिलीट नहीं कर सकते हैं। लेकिन वे भी, वास्तव में मुझ पर विश्वास नहीं करते हैं। इन सवालों पर उनकी हमेशा अपनी राय होती है :)।तकनीकी समस्याओं में से, कुछ भी नोट नहीं किया गया था। हालांकि, ज़ाहिर है, अगर कुछ टूट जाता है, तो बहुत कम संख्या में लोग इसे ठीक कर सकते हैं। इसलिए, सक्षम सिस्टम व्यवस्थापक के बिना ऐसी प्रणाली को स्थापित करने की अनुशंसा नहीं की जाती है जो लिनक्स को जानता है। हालांकि, दूसरी ओर, यदि आप सब कुछ कॉन्फ़िगर करते हैं और उपयोगकर्ताओं से अधिकार छीन लेते हैं, तो सिस्टम एक घड़ी की तरह काम करता है। आधे साल के लिए, उपयोगकर्ताओं के कारण तकनीकी समस्याएं उत्पन्न नहीं हुईं। और, सिद्धांत रूप में, इसे उत्पन्न नहीं होना चाहिए।संभवतः इस प्रणाली में सबसे मूल्यवान चीज पैसे की महत्वपूर्ण बचत है। और दोनों घटकों और बिजली पर। और यह देखते हुए कि कंप्यूटर कार्यालय है और दिन में लगभग 9 घंटे चालू है (8 श्रमिक प्लस दोपहर का भोजन), बिजली में बचत ध्यान देने योग्य है। घटकों की कीमत के रूप में, मेरे मामले में एक कीबोर्ड और माउस के साथ सिस्टम यूनिट की लागत $ 407, एक मॉनिटर - $ 162, यानी एक वर्कस्टेशन की लागत $ 569 थी। दूसरा मॉनिटर ($ 162), कीबोर्ड ($ 8), माउस ($ 7) और वीडियो कार्ड ($ 48) एक साथ $ 225 की लागत है, जो कि पहले कार्यस्थल की लागत का 40% है। यदि हम एक कार्यस्थल की लागत की गणना करते हैं, तो हमें $ 397 मिलता है। किसी तरह सामान्य कंप्यूटर के लिए बुरा नहीं है। और अगर प्रतिशत के संदर्भ में, तो एक कार्यस्थल 30% तक सस्ता हो जाता है।शायद मैंने वर्णन में कुछ बिंदुओं को याद किया। इसलिए, लेख में उल्लिखित सभी फाइलें यहां पूर्ण रूप से डाउनलोड की जा सकती हैं ।युपीडी कमेंटरी महत्वपूर्ण इसके अलावा।