আমি ল্যাপটপে উবুন্টু 9.10 (কার্মিক কোয়ালা) চালাচ্ছি এবং আমার ইউএসবি কীবোর্ডটি প্লাগ ইন করা আছে কিনা (নিমলক করুন) বা আনপ্লাগড করা হয়েছে (নামলক অফ) তার উপর নির্ভর করে নুমলক স্বয়ংক্রিয়ভাবে টগল করতে চাই।
এটি সম্পাদন করার জন্য, আমি প্রথমে "numlockx" প্যাকেজটি ইনস্টল করেছি। numlockx on
এবং ভাল numlockx off
কাজ করে।
ডিভাইস সিস্টেমে প্রবেশ করতে, আমি ভেবেছিলাম আমি ইউদেব ব্যবহার করব। আমি "উদেব বিধিগুলি লেখা" পড়েছি , তবে উদেব নিয়মটি কাজ করতে পেতে আমার সমস্যা হচ্ছে।
প্রথমত, dmesg
আউটপুটটির উদাহরণ এখানে :
[20906.985102] ইউএসবি 3-2: uhci_hcd এবং ঠিকানা 6 ব্যবহার করে নতুন স্বল্প গতির USB ডিভাইস [20907.166403] ইউএসবি 3-2: কনফিগারেশন # 1 1 টি পছন্দ থেকে বেছে নেওয়া হয়েছে [20907.192904] ইনপুট: মাইক্রোসফ্ট ন্যাচারাল® এরগনোমিক কীবোর্ড 4000 হিসাবে / ডিভাইসস / পিপিসি.০০.০০/০০০০.০০০aaa.0/usb3/3-2/3-2صول.0/input/input20 [20907.193100] মাইক্রোসফ্ট 0003: 045E: 00DB.000B: ইনপুট, hidraw1: USB HID v1.11 কীবোর্ড [মাইক্রোসফ্ট প্রাকৃতিক® আর্গোনমিক কীবোর্ড 4000] usb-0000: 00: 1a.0-2 / ইনপুট0 [20907.217810] ইনপুট: মাইক্রোসফ্ট ন্যাচারাল® এরগনোমিক কীবোর্ড 4000 হিসাবে / ডিভাইসস / পিপিসি.০০.০০/০০০০.০০০০aaaaaaaaaaaaaaS3/3-2/3-23.11 / ইনপুট / ইনপুট 21 [20907.217979] মাইক্রোসফ্ট 0003: 045E: 00DB.000C: ইনপুট, hidraw2: ইউএসবি HID v1.11 ডিভাইস [মাইক্রোসফ্ট প্রাকৃতিক® আর্গোনমিক কীবোর্ড 4000] usb-0000: 00: 1a.0-2 / ইনপুট 1
আমি udevadm info
ডিভাইসের তথ্য সংগ্রহ করতাম :
> udevadm তথ্য -a -p / Devices/pci0000:00/0000:00 પ્રમાણa.0/usb3/3-2/3-2صول.1/input/input21 ডিভাইস '/ ডিভাইসস / পিপিসিআই০০০০০০০০০০০০০০০০০০০০০০০০০০০০০০০০০০০.০০/usb3/3-2/3-2 শে .1 / ইনপুট / ইনপুট 21' এ দেখছেন: কার্নেল == "input21" সাব-সিস্টেম == "ইনপুট" চালক == "" ATTR {phys,} == "USB-0000: 00: 1a.0-2 / input1" ATTR {uniq} == "" ATTR {modalias} == "ইনপুট: b0003v045Ep00DBe0111-e0,1,2,3,4,14, k71,72,73,74,75,77,79,7A, 7B, 7C, 7D, 7E, 7F, 80 , 81,82,83,84,85,86,87,88,89,8A, 8B, 8C, 8E, 90,96,98,9B, 9c, 9E, 9F, A1 থেকে A3, A4, A5, থেকে A6 , A7, A8, A9, এবি, এসি, আদ, ই, B0, B1, B2, B3 থেকে, B4 এ, B5, বি 6, B8, B9, বিএ, বি বি; BC বিডি হতে, বি এফ, C0, গ 1, C2 এ , সিই, সিএফ, D0, D1, D2 গ্রাহকের, D5, D9, ডিবি, মেক্সিকো সিটি, E2, E7, E8, E9, ইএ প্রিন্সিপাল, EB, F0,100,162,166,16A, 16E, 178,179,17A, 17b, 17C, 17D, 17F , 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, R6, a20, M4 , lsfw " প্যারেন্ট ডিভাইসটি '/ ডিভাইসস / পিপিসি.০০.০০/০০০০.০০.০০aaa/usb3/3-2/3-2 प्रशंसा.1' দেখুন: কার্নেলের == "3-2: 1.1" সাব == "USB" ড্রাইভার == "usbhid" ATTRS {bInterfaceNumber} == "01" এটিটিআরএস {বিএল্টারনেটসেটিং} == "0" ATTRS {bNumEndpoints} == "01" ATTRS {bInterfaceClass} == "03" ATTRS {bInterfaceSubClass} == "00" ATTRS {bInterfaceProtocol} == "00" ATTRS {modalias} == "USB: v045Ep00DBd0173dc00dsc00dp00ic03isc00ip00" ATTRS {supports_autosuspend} == "1" প্যারেন্ট ডিভাইসটি '/ ডিভাইসস / পিসিসি0000:00/0000:00صولa.0/usb3/3-2' এ খুঁজছেন: কার্নেলের == "3-2" সাব == "USB" ড্রাইভার == "USB" ATTRS {কনফিগারেশন} == "" এটিটিআরএস {বিনিউম ইন্টারফেসস} == "2" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "A0" ATTRS {bMaxPower} == "100mA" ATTRS {urbnum} == "532" ATTRS {idVendor} == "045e" ATTRS {idProduct} == "00db" ATTRS {bcdDevice} == "0173" ATTRS {bDeviceClass} == "00" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "8" ATTRS {গতি} == "1.5" ATTRS {busnum} == "3" ATTRS {devnum} == "6" এটিটিআরএস {সংস্করণ} == "২.০০" ATTRS {maxchild} == "0" ATTRS {quirks} == "0x0" ATTRS {অনুমোদিত} == "1" ATTRS {প্রস্তুতকারকের} == "মাইক্রোসফট" প্যারেন্ট ডিভাইস '/ Devices/pci0000:00/0000:00صولa.0/usb3' এ খুঁজছেন: কার্নেলের == "usb3" সাব == "USB" ড্রাইভার == "USB" ATTRS {কনফিগারেশন} == "" এটিটিআরএস {বিনিউম ইন্টারফেসস} == "1" ATTRS {bConfigurationValue} == "1" ATTRS {bmAttributes} == "E0" এটিটিআরএস {বিম্যাক্সপাওয়ার} == "0 এমএ" ATTRS {urbnum} == "127" ATTRS {idVendor} == "1d6b" ATTRS {idProduct} == "0001" ATTRS {bcdDevice} == "0206" ATTRS {bDeviceClass} == "09" ATTRS {bDeviceSubClass} == "00" ATTRS {bDeviceProtocol} == "00" ATTRS {bNumConfigurations} == "1" ATTRS {bMaxPacketSize0} == "64" ATTRS {গতি} == "12" ATTRS {busnum} == "3" ATTRS {devnum} == "1" এটিটিআরএস {সংস্করণ} == "1.10" ATTRS {maxchild} == "2" ATTRS {quirks} == "0x0" ATTRS {অনুমোদিত} == "1" এটিটিআরএস {প্রস্তুতকারক} == "লিনাক্স 2.6.31-16-জেনেরিক uhci_hcd" এটিটিআরএস {পণ্য} == "ইউএইচসিআই হোস্ট কন্ট্রোলার" ATTRS {সিরিয়াল} == "0000: 00: 1a.0" ATTRS {authorized_default} == "1" প্যারেন্ট ডিভাইস '/ ডিভাইসস / পিসিসি 0000/00/00: 00aaa'a''- এর দিকে তাকানো কার্নেলের == "0000: 00: 1a.0" সাব == "PCI" ড্রাইভার == "uhci_hcd" ATTRS {বিক্রেতা} == "0x8086" ATTRS {ডিভাইস} == "0x2937" ATTRS {subsystem_vendor} == "0x1558" ATTRS {subsystem_device} == "0x0860" ATTRS {বর্গ} == "0x0c0300" ATTRS {IRQ} == "16" ATTRS {local_cpus} == "FF" ATTRS {local_cpulist} == "0-7" ATTRS {modalias} == "PCI: v00008086d00002937sv00001558sd00000860bc0Csc03i00" ATTRS {broken_parity_status} == "0" ATTRS {msi_bus} == "" প্যারেন্ট ডিভাইস '/ ডিভাইস / pci0000: 00' এ খুঁজছেন: কার্নেলের == "pci0000: 00" সাব == "" ড্রাইভার == ""
সুতরাং আমি একটি ফাইল তৈরি করেছি /etc/udev/rules.d/usb-keyboard.rules
:
# কীবোর্ডটি প্লাগ ইন করা অবস্থায় নিমলক চালু করুন। অ্যাকশন == "অ্যাড", এটিটিআরএস {প্রস্তুতকারক} == "মাইক্রোসফ্ট", সাবসিএসটিএম == "ইনপুট", আরএন + = "/ ইউএসআর / বিন / নমল্যাক্স চালু" # কীবোর্ডটি প্লাগ লাগানো হলে নামলক বন্ধ করুন। ক্রিয়া == "অপসারণ", এটিটিআরএস {প্রস্তুতকারক} == "মাইক্রোসফ্ট", সাবস্কায়ম == "ইনপুট", রুন + = "/ ইউএসআর / বিন / নমলাক্স বন্ধ"
udevadm test
নিয়মগুলি সঠিক কিনা তা যাচাই করতে আমি ব্যবহার করেছি :
> udevadm পরীক্ষা - ক্রিয়াকলাপ = যোগ / উপস্থাপনা / pci0000:00/0000:00 ACTa.0/usb3/3-2/3-2صول.1/ ইনপুট / ইনপুট 21 রান_কমন্ড: কলিং: পরীক্ষা udevadm_test: সংস্করণ 147 [...] parse_file: নিয়ম ফাইল হিসাবে '/etc/udev/rules.d/usb-keyboard.rules' পড়া udev_rules_new: নিয়ম 180864 বাইট টোকেন (15072 * 12 বাইট), 31614 বাইট বাফার ব্যবহার করে udev_rules_new: অস্থায়ী সূচক 49760 বাইট ব্যবহৃত (2488 * 20 বাইট) udev_device_new_from_syspath: ডিভাইস 0x28d7d80 এর মধ্যে দেবপথ রয়েছে '/ ডিভাইসস / পিপিসি.এস.০০.০০/০০০০.০০০aa.০/usb3/3-2/3-2 শে .1 ইনপুট / ইনপুট 21' udev_rules_apply_to_event: RUN '/ sbin / Modprobe -b $ env {MODALIAS}' /lib/udev/rules.d/80-drivers.rules:5 udev_rules_apply_to_event: RUN 'সকেট: @ / org / ফ্রিডেস্কটপ / হাল / udev_event' /lib/udev/rules.d/90-hal.rulesferences udev_device_new_from_syspath: ডিভাইস 0x28d8560 এর মধ্যে দেবপথ রয়েছে '/ ডিভাইসস / পিপিসি.এস.০০.০০ / 0000:00 আসতা.0 / ইউএস 3/3-2/3-2 শে .1' udev_device_new_from_syspath: ডিভাইস 0x28d8708 এর মধ্যে দেবপথ রয়েছে '/ ডিভাইসস / পিপিসি 0000/0000:00exta.0/usb3/3-2' udev_rules_apply_to_event: '/etc/udev/rules.d/usb-keyboard.rules:7 on RUN' / usr / bin / numlockx udevadm_test: UDEV_LOG = 6 udevadm_test: DEVPATH = / ডিভাইস / pci0000: 00/0000: 00: 1a.0 / usb3 / 3-2 / 3-2: 1.1 / ইনপুট / ইনপুট 21 udevadm_test: PRODUCT = 3 / 45e / db / 111 udevadm_test: NAME = "মাইক্রোসফ্ট ন্যাচারাল® এরগোনমিক কীবোর্ড 4000" udevadm_test: PHYS = "ইউএসবি -0000: 00: 1 এ.0-2 / ইনপুট 1" udevadm_test: UNIQ = "" udevadm_test: EV == 10001f udevadm_test: KEY == 837fff 2c3027 bf004444 0 0 1 10f84 8a27c007 ff7f7bfa d9415fff febeffdf ffefffff ffffffff fffffffe udevadm_test: REL == 40 udevadm_test: ABS == 1 0 udevadm_test: MSC == 10 udevadm_test: MODALIAS = ইনপুট: b0003v045Ep00DBe0111-e0,1,2,3,4,14, কে 71,72,73,74,75,77,79,7A, 7 বি, 7 সি, 7 ডি, 7 ই, 7 এফ, 80,81, 82,83,84,85,86,87,88,89,8A, 8B, 8C, 8E, 90,96,98,9B, 9c, 9E, 9F, A1 থেকে A3, A4, A5, থেকে A6, A7, A8, A9, এবি, এসি, আদ, ই, B0, B1, B2, B3 থেকে, B4 এ, B5, বি 6, B8, B9, বিএ, বি বি; BC বিডি হতে, বি এফ, C0, গ 1, C2 এ, সিই, সিএফ, D0, D1, D2 গ্রাহকের, D5, D9, ডিবি, মেক্সিকো সিটি, E2, E7, E8, E9, ইএ প্রিন্সিপাল, EB, F0,100,162,166,16A, 16E, 178,179,17A, 17b, 17C, 17D, 17F, 180.181.182.185, 18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, R6, a20, M4, lsfw udevadm_test: ACTION = যুক্ত করুন udevadm_test: SUBSYSTEM = ইনপুট udevadm_test: চালান: '/ sbin / modprobe -b ইনপুট: b0003v045Ep00DBe0111-e0,1,2,3,4,14, k71,72,73,74,75,77,79,7A, 7B, 7C, 7D, 7E , 7F, 80,81,82,83,84,85,86,87,88,89,8A, 8B, 8C, 8E, 90,96,98,9B, 9c, 9E, 9F, A1 থেকে A3, করুন A4 , A5, থেকে A6, A7, A8, A9, এবি, এসি, আদ, ই, B0, B1, B2, B3 থেকে, B4 এ, B5, বি 6, B8, B9, বিএ, বি বি; BC বিডি, বি এফ BE, C0 , গ 1, C2 এ, সিই, সিএফ, D0, D1, D2 গ্রাহকের, D5, D9, ডিবি, মেক্সিকো সিটি, E2, E7, E8, E9, ইএ প্রিন্সিপাল, EB, F0,100,162,166,16A, 16E, 178,179,17A, 17b, 17C , 17D, 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, R6 , a20, M4, lsfw ' udevadm_test: চালান: 'সকেট: @ / org / ফ্রিডেস্কটপ / হাল / udev_event' udevadm_test: চালান: '/ usr / বিন / numlockx চালু'
এবং এখানে "অপসারণ" পরীক্ষাটি দেওয়া হয়েছে:
> udevadm পরীক্ষা - ক্রিয়াকলাপ = অপসারণ / ডিভাইসগুলি / pci0000:00/0000:00 আসতা.0/usb3/3-2/3-2صول.1/ ইনপুট / ইনপুট 21 রান_কমন্ড: কলিং: পরীক্ষা udevadm_test: সংস্করণ 147 [...] parse_file: নিয়ম ফাইল হিসাবে '/etc/udev/rules.d/usb-keyboard.rules' পড়া udev_rules_new: নিয়ম 180864 বাইট টোকেন (15072 * 12 বাইট), 31614 বাইট বাফার ব্যবহার করে udev_rules_new: অস্থায়ী সূচক 49760 বাইট ব্যবহৃত (2488 * 20 বাইট) udev_device_new_from_syspath: ডিভাইস 0xd2fd80 এর মধ্যে দেবপথ রয়েছে '/ ডিভাইসস / পিপিসি.এস.০০.০০/০০০০.০০০aa.০/usb3/3-2/3-2 শে .1 ইনপুট / ইনপুট 21' udev_rules_apply_to_event: RUN 'সকেট: @ / org / ফ্রিডেস্কটপ / হাল / udev_event' /lib/udev/rules.d/90-hal.rulesferences udev_device_new_from_syspath: ডিভাইস 0xd2fff8 এর মধ্যে দেবপথ রয়েছে '/ ডিভাইসস / পিপিসি.০০.০০ / 00: 00: 30/0 / এসবি 3/3-2/3-2 শে .1' udev_device_new_from_syspath: ডিভাইস 0xd30690 এ ডিভাইপথ রয়েছে '/ ডিভাইসস / পিপিসি.০০.০০ / 00: 00: 30/1 / এসবি 3/3-2' udev_rules_apply_to_event: RUN '/ usr / bin / numlockx off' /etc/udev/rules.d/usb-keyboard.rules:10 udevadm_test: UDEV_LOG = 6 udevadm_test: DEVPATH = / ডিভাইস / pci0000: 00/0000: 00: 1a.0 / usb3 / 3-2 / 3-2: 1.1 / ইনপুট / ইনপুট 21 udevadm_test: PRODUCT = 3 / 45e / db / 111 udevadm_test: NAME = "মাইক্রোসফ্ট ন্যাচারাল® এরগোনমিক কীবোর্ড 4000" udevadm_test: PHYS = "ইউএসবি -0000: 00: 1 এ.0-2 / ইনপুট 1" udevadm_test: UNIQ = "" udevadm_test: EV == 10001f udevadm_test: KEY == 837fff 2c3027 bf004444 0 0 1 10f84 8a27c007 ff7f7bfa d9415fff febeffdf ffefffff ffffffff fffffffe udevadm_test: REL == 40 udevadm_test: ABS == 1 0 udevadm_test: MSC == 10 udevadm_test: MODALIAS = ইনপুট: b0003v045Ep00DBe0111-e0,1,2,3,4,14, কে 71,72,73,74,75,77,79,7A, 7 বি, 7 সি, 7 ডি, 7 ই, 7 এফ, 80,81, 82,83,84,85,86,87,88,89,8A, 8B, 8C, 8E, 90,96,98,9B, 9c, 9E, 9F, A1 থেকে A3, A4, A5, থেকে A6, A7, A8, A9, এবি, এসি, আদ, ই, B0, B1, B2, B3 থেকে, B4 এ, B5, বি 6, B8, B9, বিএ, বি বি; BC বিডি হতে, বি এফ, C0, গ 1, C2 এ, সিই, সিএফ, D0, D1, D2 গ্রাহকের, D5, D9, ডিবি, মেক্সিকো সিটি, E2, E7, E8, E9, ইএ প্রিন্সিপাল, EB, F0,100,162,166,16A, 16E, 178,179,17A, 17b, 17C, 17D, 17F, 180.181.182.185, 18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, R6, a20, M4, lsfw udevadm_test: ACTION = সরান udevadm_test: SUBSYSTEM = ইনপুট udevadm_test: চালান: 'সকেট: @ / org / ফ্রিডেস্কটপ / হাল / udev_event' udevadm_test: চালান: '/ usr / বিন / numlockx বন্ধ'
সমস্যাটি হ'ল যখন কীবোর্ডটি প্লাগ ইন করা হয় বা প্লাগ ইন করা হয়, তখন নুমলক স্থিতি পরিবর্তন হয় না। আমি ভাগ্যবিহীনভাবে উদেব পরিষেবাটি পুনরায় চালু করার চেষ্টা করেছি। আমার উদেব কি ভুল? আমি কি এই ভুল পথে চলছি?