जवाबों:
मुझे इसका पता चला।
पहले सुनिश्चित करें कि आपने दोनों मशीनों पर एवदेव कर्नेल मॉड्यूल लोड किया है ।
आपके द्वारा चलाए जा रहे रिमोट मशीन पर:
$ cat /dev/input/by-path/platform-i8042-serio-0-event-kbd | nc <IP> 4444
और ग्राहक पर:
$ nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
(नोट: यदि आप netcat-openbsd से netcat का उपयोग कर रहे हैं, उदाहरण के लिए Ubuntu या Fedora में, '-p' का उपयोग न करें)
यह पूरी तरह से काम करता है चाहे मैं TTY में हो या X.org में। और यह बिना किसी देरी के चलता है!
दुर्भाग्य से सभी चाबियाँ रिमोट मशीन पर भी टाइप की जाती हैं। क्या nc चल रहा है, उन्हें अस्थायी रूप से अक्षम करने का एक तरीका है? मैंने रिमोट मशीन पर "बिल्ली -" चलाने के बारे में कुछ सोचा था, लेकिन एक Ctrl-C इसे निश्चित रूप से समाप्त कर देगा।
सिनर्जी कई मशीनों के बीच नेटवर्क पर एक कीबोर्ड साझा करेगा। अगर यह सीधे-सीधे वह नहीं करता है जो आप चाहते हैं, तो मुझे यकीन है कि वहाँ कोड है जो आपको स्थापित करना आसान बना देगा।
सिनर्जी पर एक नजर ।
सिनर्जी फ्री और ओपन सोर्स सॉफ्टवेयर है जो आपको अपने माउस और कीबोर्ड को कई कंप्यूटरों के बीच आसानी से साझा करने देता है, जहां प्रत्येक कंप्यूटर का अपना डिस्प्ले होता है। कोई विशेष हार्डवेयर की आवश्यकता नहीं है, आपको केवल एक स्थानीय क्षेत्र नेटवर्क की आवश्यकता है। सिनर्जी विंडोज, मैक ओएस एक्स और लिनक्स पर समर्थित है। माउस और कीबोर्ड को पुनर्निर्देशित करना उतना ही सरल है जितना कि माउस को आपकी स्क्रीन के किनारे से दूर ले जाना।
Nc (netcat) का उपयोग करने का उपरोक्त सुझाव मेरे लिए कारगर नहीं है।
मैं इस कमांड का उपयोग करके इनपुट स्ट्रीम खोल सकता हूं:
nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
मुझे अनुमति से वंचित कर दिया जाता है, भले ही मैं इसे सूडो के रूप में करता हूं। टारगेट मशीन के पास वास्तव में एक पुराना लिनक्स स्थापित है, इसलिए हो सकता है कि / dev / इनपुट डिवाइस फ़ाइलों को पढ़ने के लिए केवल तभी वापस लाया जाए।
मैं x2x का उपयोग करके इस समस्या को हल करने में सक्षम था, हालांकि, और परिणाम बहुत उपयोगकर्ता के अनुकूल है।
आपको लक्ष्य मशीन पर "xhost +" करने की आवश्यकता है, और दूरस्थ कनेक्शन को सक्षम करने के लिए gdmsetup का भी उपयोग करें (यह X के लिए -nolisten ध्वज को हटाता है जब अगली बार gdm ने X सत्र शुरू किया है)।
उसके बाद, आपका xserver रिमोट कनेक्शन के लिए विस्तृत है, और x2x इसे स्रोत (कीबोर्ड) मशीन से कनेक्ट कर सकता है
x2x -to 192.168.1.3:0
X2x के बारे में अच्छी बात यह है कि यह आपको स्रोत मशीन पर थोड़ा नियंत्रण विंडो देता है, और कीबोर्ड की घटनाओं को केवल लक्ष्य पर भेजा जाता है, जब वह विंडो केंद्रित होती है। यह करने के लिए एक बहुत ही आसान तरीका है (मैं अभी स्रोत मशीन से इस जवाब को टाइप कर रहा हूं, और कोई आवारा कुंजीपट लक्ष्य मशीन तक नहीं पहुंच रहा है, क्योंकि मेरे पास नियंत्रण विंडो डी-केंद्रित है)। इसके अलावा, नियंत्रण विंडो के केंद्र पर क्लिक करने से माउस घटनाओं को भी अग्रेषित करना शुरू हो जाता है, और 2-बटन क्लिक करने से माउस घटनाओं का भेजना समाप्त हो जाता है। इसके अलावा, जब आप नियंत्रण विंडो में एक क्लिक के साथ माउस को अग्रेषित करने में सक्षम करते हैं, तो सभी कीबोर्ड घटनाओं को लक्ष्य पर भेजा जाता है, और स्रोत को कोई नहीं। इस प्रकार, ALT-TAB को स्रोत मशीन पर नियंत्रण विंडो को परिभाषित किए बिना लक्ष्य पर भेजा जाता है।
मेरे पास स्रोत मशीन पर वर्चुअल डेस्कटॉप सक्षम है, इसलिए मैं सिर्फ x2x कंट्रोल विंडो को दूर के डेस्कटॉप पर चिपकाता हूं और केवल तब जाता हूं जब मुझे लक्ष्य मशीन को नियंत्रित करने की आवश्यकता होती है।
समाधान का यह संस्करण एक्स स्तर पर है, जहां उपर्युक्त उत्तर लिनक्स डिवाइस स्तर पर है। यदि आप X को लक्ष्य और स्रोत दोनों पर नहीं चला रहे हैं, तो बेशक, यह बिल्कुल भी काम नहीं करेगा।
nc -l 4444
, बिना था-p
। के अनुसारman nc
, के-p
साथ संयोजन में स्पष्ट रूप से निषिद्ध है-l
। अन्यथा यह एक शानदार समाधान है और बस मुझे क्या चाहिए :)