जैसा कि अन्य उपयोगकर्ताओं ने पहले से ही महान विस्तार से समझाया है, विशेष फ़ाइलों को उन्हें वापस करने के लिए कोड की आवश्यकता होती है। हालाँकि, किसी ने यह उल्लेख नहीं किया है कि लिनक्स उस कोड को यूजरस्पेस में लिखने के कई तरीके प्रदान करता है:
ए फ्यूज (यूज़रस्पेस में फ़ाइल) आप की तरह कुछ लिखने की अनुमति देता /proc
गिरी दुर्घटनाग्रस्त के जोखिम के बिना और यह अपनी पसंद का एक भाषा / क्रम, इस तरह के रूप में क्या जाओ , Node.js , पर्ल , पीएचपी , अजगर , रूबी , जंग , आदि ।
इसका यह भी लाभ है कि FUSE फाइलसिस्टम बिना माउंट किए जा सकते हैं sudo
क्योंकि वे बढ़ते उपयोगकर्ता के रूप में चलते हैं।
यहाँ उन चीजों के कुछ उदाहरण दिए गए हैं जिन्हें लोगों ने FUSE के उपयोग से लिखा है:
- MP3fs (अपनी FLAC फ़ाइलों को MP3 फ़ाइलों के रूप में देखें, जो आपके द्वारा अपने MP3 प्लेयर पर कॉपी / क्लिक-ड्रैग करने पर ऑन-द-फ्लाई बन जाती हैं)
- PyTagsFS (मेटाडाटा टैग से निर्मित आभासी फ़ोल्डरों के पेड़ में अपना मीडिया देखें)
- फ्यूज-जिप (माउंट जिप फाइल को फोल्डर के रूप में)
- फ़्यूज़िसो (रूट अनुमति के बिना माउंट आईएसओ)
- iFUSE (माउंट iDevices)
- फ्यूसेडाव (माउंट वेबदाव शेयर)
- फ़्यूज़-एक्सफ़ैट (माउंट एक्सफ़ैट -स्वरूपित फ़ाइल सिस्टम)
- NTFS-3 जी ( लिनक्स NTFS ड्राईवर)
B. यदि आप एक कीबोर्ड, माउस, जॉयस्टिक आदि जैसे वर्चुअल इनपुट डिवाइस बनाना चाहते हैं (उदाहरण के लिए, जिस USB डिवाइस का आप उपयोग करने के लिए बात कर रहे हैं, उसके लिए एक यूजरस्पेस ड्राइवर लिखना है libusb
), तो uinput है ।
इसके लिए बाइंडिंग कठिन है, लेकिन मुझे पता है कि वे गो (कीबोर्ड-ओनली), पायथन और रूबी (2) के लिए मौजूद हैं ।
वास्तविक विश्व यूनीपुट उपयोग के उदाहरणों में शामिल हैं:
- G15Daemon (एलसीडी और गेमिंग यूनिट के लिए लिनक्स ड्राइवर, Logitech G15 गेमिंग कीबोर्ड पर)
- ds4drv (सोनी डुअलशॉक 4 कंट्रोलर्स के लिए ड्राइवर)
- Xboxdrv (वैकल्पिक XBox 360 कंट्रोलर ड्राइवर और लिनक्स x360ce के समान बुरी तरह से डिज़ाइन किए गए गेम जैसे Runner2: फ्यूचर लेजेंड ऑफ़ रिदम एलियन सोच सकते हैं कि वे असली XBox कंट्रोलर से बात कर रहे हैं जब वे नहीं होते)
- पुराने Wiimote ड्राइवर जैसे cwiid , जिन्हें किसी को अंतिम रूप से कर्नेल Wiimote ड्राइवर लिखना आवश्यक था, इसलिए डिफ़ॉल्ट रूप से समर्थन उपलब्ध होगा।
C. सामान्य वर्ण उपकरणों के लिए, CUSE ( USErspace में वर्ण उपकरण) है। हालांकि यह बहुत कम लोकप्रिय है।
: क्यूस एपीआई के केवल उपयोगकर्ता है कि मैं व्यक्तिगत रूप से की के बारे में पता कर रहा हूँ एक ही प्रोग्राम है जो इसके निर्माण के लिए प्रेरित किया है osspd है, जो लागू करता है /dev/dsp
, /dev/adsp
और /dev/mixer
यूज़रस्पेस में (ओएसएस ऑडियो एपीआई) तो वे पल्सऑडियो या dmix के माध्यम से रूट किया जा सकता है।
एकमात्र CUSE बाइंडिंग जो मैं पा रहा था वह cusepy है , जिसे 2010 से अपडेट नहीं किया गया है।
D. आपको किसी नई विशेष फ़ाइल की आवश्यकता नहीं हो सकती है।
उदाहरण के लिए, आप libusb (पेज पर बाइंडिंग की सूची) का उपयोग करके किसी भी USB डिवाइस के साथ कच्चे संचार को खोल सकते हैं और फिर अन्य कार्यक्रमों के माध्यम से कुछ अन्य तंत्र (TCP / UDP सॉकेट्स, रीडिंग / राइटिंग स्टड / स्टडआउट या डिस्क पर नियमित फ़ाइलों के साथ संवाद कर सकते हैं) , आदि।)।