जब कोई बाहरी कीबोर्ड संलग्न हो और बंद न हो तो उबंटू को स्वचालित रूप से चालू करने के लिए उबंटू कैसे सेट करें?


12

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

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

क्या मैं इसे स्वचालित कर सकता हूं? एक बहुत ही औपचारिक, तार्किक रूप से सरल कार्य लगता है: अगर कोई यूएसबी कीबोर्ड जुड़ा हुआ है (कुछ डिवाइस इन / डेव वर्तमान में?) - न्यूमॉक चालू है, यदि नहीं - न्यूमॉक बंद है। मेरे लैपटॉप का अंतर्निहित कीबोर्ड PS / 2-संलग्न है, बाहरी USB है।

शायद मुझे इसे स्वयं कोड करना चाहिए, लेकिन इस मामले में इसे कहां रखा जाए?

मैं Ubuntu 10.10 का उपयोग करता हूं।

जवाबों:


14

सबसे पहले, numlockx स्थापित करें ( numlockx स्थापित करने के लिए यहां क्लिक करें )। मूल रूप से यह आपको Num Lock की स्थिति सेट करने के लिए स्क्रिप्ट लिखने की अनुमति देता है - विवरण के लिए अंकलॉक मैन पेज देखें।

अगला हमें udev नियमों के मज़े में देरी करने की आवश्यकता है। पहले हमें यह पता लगाना होगा कि कीबोर्ड की पहचान कैसे की जाती है। आप इससे कर सकते हैं

ls /dev/input/by-id/

यह आपको कुछ मानव पठनीय फ़ाइल नाम देना चाहिए (जो कि विशेष रूप से पढ़ने योग्य सच्चे नाम के लिए नरम लिंक नहीं हैं)। मेरा कीबोर्ड था

/dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd

तो फिर हमें कीबोर्ड के बारे में सभी जानकारी पता करने की आवश्यकता है। मैंने किया

udevadm info -a -p $(udevadm info -q path -n /dev/input/by-id/usb-KINESIS_FREESTYLE_KB700_KB700_Kinesis_Freestyle-event-kbd)

लेकिन वहाँ अपना रास्ता डालें। आपको बहुत सारी जानकारी मिल जाएगी, लेकिन आप पहले ब्लॉक को देखना चाहते हैं जो कीबोर्ड को नाम देता है और है SUBSYSTEMS=="usb"। (बल्कि USB कंट्रोलर या जो भी हो)। मेरे मामले में यह था:

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2.3':
    KERNELS=="3-2.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="a0"
    ATTRS{bMaxPower}==" 50mA"
    ATTRS{urbnum}=="6284"
    ATTRS{idVendor}=="058f"
    ATTRS{idProduct}=="9410"
    ATTRS{bcdDevice}=="0122"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{speed}=="1.5"
    ATTRS{busnum}=="3"
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="2.3"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="KINESIS FREESTYLE KB700"
    ATTRS{product}=="KB700 Kinesis Freestyle"

इसलिए अब हमारे पास कुछ नियम लिखने के लिए पर्याप्त जानकारी है। बनाने /etc/udev/rules.d/10-local.rulesऔर डालने के लिए अपने पसंदीदा संपादक का उपयोग करें :

BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="add",RUN+="/usr/bin/numlockx on"
BUS=="usb",ATTRS{product}=="KB700 Kinesis Freestyle",ACTION=="remove",RUN+="/usr/bin/numlockx off"

फिर से, अपने कीबोर्ड का नाम यहां रखें, और ATTRS अलग होने पर। तो यह काम करना चाहिए :)

नोट: मैं यह जांचने में सक्षम नहीं हूं, हालांकि मैंने नियम फाइल बनाने तक सभी कमांड चलाए हैं। और मामले में आपको कुछ और जाँच करने की आवश्यकता है:


बहुत बहुत धन्यवाद, उत्कृष्ट। ईमानदार होने के लिए, मुझे इस तरह के जानकारीपूर्ण के किसी भी उत्तर का जवाब मिलने की उम्मीद नहीं थी। काश मैं इसे सही और +1 से अधिक पुरस्कार दे पाता। मुझे उम्मीद है कि मेरे सवाल पर अभिनीत और वोट करने वाले सभी लोग आपको पुरस्कार देंगे।
इवान

1

यदि आप Gnome3 शेल का उपयोग कर रहे हैं।

अंकसूची स्थापित करें

फिर स्टार्टअप एप्लिकेशन प्राथमिकताएं लॉन्च करें gnome-session-properties

छवि (नए उपयोगकर्ता चित्र पोस्ट नहीं कर सकते :))

जोड़ें पर क्लिक करें

नाम फ़ील्ड में और कमांड फ़ील्ड में कुछ भी लिखें इसे कॉपी करें:numlockx on

छवि


0

मुझे यकीन नहीं है कि मैं अलग तरीके से क्या कर रहा हूं, क्योंकि इस कीबोर्ड पर मेरा सुमेल डिफ़ॉल्ट रूप से चालू है (यह एक मैक प्रो एल्यूमीनियम कीबोर्ड है)। यहां कुछ निर्देश दिए गए हैं जो कि चाल को करना चाहिए।

उम्मीद है की यह मदद करेगा!


0

यदि आप ग्नोम-शेल का उपयोग कर रहे हैं, तो आप पैनल "लॉक कीज़" एक्सटेंशन पर न्यूक्लॉक और कैप्सलॉक स्थिति स्थापित कर सकते हैं। कृपया, इसे यहाँ पाया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.