मेरे पास एक सर्वर बहु-उपयोगकर्ता मोड में चल रहा है जो एक कीबोर्ड और मॉनिटर से जुड़ा हुआ है। एक अलग कंप्यूटर पर, मैं सर्वर पर एसएसएच करना चाहता हूं और एक प्रोग्राम चलाता हूं जो कुंजीपटल से इनपुट कैप्चर करता है और पाठ को मॉनीटर पर प्रिंट करता है। कुंजीपटल और मॉनिटर का उपयोग किसी भी अन्य उद्देश्य के लिए कभी नहीं किया जाएगा।मैं कुंजीपटल घटनाओं को कैप्चर कैसे कर सकता हूं और लिनक्स पर टेक्स्ट-डिस्प्ले के रूप में मॉनीटर का उपयोग कैसे कर सकता हूं?
अभी, सर्वर बूट होने पर, मॉनिटर पर एक (टेक्स्ट) लॉगिन स्क्रीन प्रदर्शित होती है। मुझे पता है कि मैं संबंधित /dev/tty
डिवाइस पर लिख सकता हूं। हालांकि, कीबोर्ड भी एक ही स्थान पर लिखता है।
मैं कीबोर्ड ईवेंट कैप्चर कैसे कर सकता हूं और लिनक्स पर टेक्स्ट-डिस्प्ले के रूप में मॉनीटर का उपयोग कैसे कर सकता हूं?
मैं लिनक्स पर हार्डवेयर इंटरफेसिंग के आसपास कुछ मूल बातें खो सकता हूं। मुझे क्या जानने की ज़रूरत है?
इनाम समय से बाहर चल रहा है - किसी को मैं उसी के अनुसार पुरस्कार हूँ आगे बाहर इस मांस के लिए चाहता है:
मैं प्रारंभ होने से प्रवेश करने में कोई कार्यक्रमों को रोकने के लिए निम्नलिखित किया:
systemctl mask [email protected]
systemctl mask systemd-logind
systemctl mask [email protected]
तो मैं कर रहा हूँ मेरे कार्यक्रम चलाने जब साथ आवश्यक:
openvt -c 1 -f /path/to/my/program
यह एक पूरी तरह से संतोषजनक समाधान, कि परेशान करने -f
के अलावा होगा। tty1
पर क्या चल रहा है? क्या ऐसा कुछ है जो मैं इसे रोकने के लिए कर सकता हूं? क्या मुझे इसे रोकना चाहिए?
विशेष रूप से, इस समाधान मेरी जरूरतों को पूरा करता है- जहाँ तक मुझे यह समझ के रूप में, मैं tty के ऊपर ले जा रहा हूँ और इस तरह अपनी stdin तक पहुँच प्राप्त नजर रखने के लिए और stdout (मुद्रण (कीबोर्ड से उत्पादन प्राप्त))।
क्यों लॉगिन पर उचित कार्यक्रम चलाने के लिए एसएसडीडी नहीं है? –
क्या आप विस्तृत कर सकते हैं? मुझे "प्रोग्राम कैसे शुरू करें" और "कार्यक्रम अपने लक्ष्यों को कैसे पूरा करता है" के बीच कनेक्शन नहीं देखता है। – ToBeReplaced
ओह, मैं देखता हूं। जिस कीबोर्ड और मॉनिटर के साथ आप इंटरफेस करना चाहते हैं वह * सर्वर * से जुड़ा हुआ है। यही है 'openvt' के लिए है। –