तो, वेब वास्तव में एक अद्भुत बात है! बहुत से अनुसंधान और कई मंच लिंक में गोता लगाने के बाद, मैं इस समस्या को बेहतर ढंग से समझने में कामयाब रहा, यह पता लगाने के लिए कि इसके लिए कौन सा कार्यक्रम जिम्मेदार था और आखिरकार, इस व्यवहार को अच्छे के लिए अक्षम करना। मैंने सोचा था कि मैं अपने कदम नीचे लिखूंगा, अगर अन्य लोग भी इसी मुद्दे पर चलेंगे।
चरण 1. कीबोर्ड बैकलाइट चालू होने पर / पता करने के लिए सिस्टम की निगरानी करें
पहली बात यह है कि कीबोर्ड बैकलाइट की वर्तमान स्थिति को फ़ाइल को पढ़कर जांचा जा सकता है /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness। इसलिए, हम इस फ़ाइल में किसी भी बदलाव के बारे में सूचित करना चाहेंगे और, आदर्श रूप से, किस प्रक्रिया ने परिवर्तन को लागू किया।
यह फैनोटिफाई का उपयोग करके किया जा सकता है । मैंने उदाहरण कार्यक्रम का उपयोग किया जो मैन पेज में प्रदान किया गया है और कुछ संशोधनों * को जोड़ा ताकि मैं ब्राइटनेस फाइल में बदलावों की निगरानी कर सकूं। यह बताता है कि संशोधन के लिए जिम्मेदार प्रक्रिया थी /usr/lib/upower/upowerd, जो UPower के लिए एक कठिन प्रक्रिया है ।
चरण 2. पता करें कि UPower बैकलाइट को क्यों चालू कर रहा है (विफल)
यह जांच का सबसे खराब हिस्सा था, और मैं अभी भी नहीं बता सकता कि ऐसा क्यों होता है। मुझे एक बहुत ही समान समस्या वाला व्यक्ति मिला लेकिन बिना किसी समाधान के, इसलिए मैंने यह देखना शुरू कर दिया कि क्या मैं इस लिंक को पाते ही पूरी तरह से अक्षम कर सकता हूं (और इसके परिणाम क्या होंगे) । UPower की कॉन्फ़िगरेशन फ़ाइल होती है! वह बेहतर है।
चरण 3। कीबोर्ड बैकलाइट को चालू करने से UPower को रोकें
अंत में, मैंने उपरोक्त पंक्ति में स्थित पूर्वोक्त विन्यास फाइल को संपादित किया /etc/dbus-1/system.d/org.freedesktop.UPower.conf, और निम्नलिखित पंक्ति में परिवर्तित <allow>किया <deny>गया:
<allow send_destination="org.freedesktop.UPower"
send_interface="org.freedesktop.UPower.KbdBacklight"/>
मैंने इसके बाद dbus को फिर से शुरू किया sudo service dbus restart( systemctl restart dbus.serviceउबंटू 16.04 और बाद में उपयोग) और परिणाम का परीक्षण करने के लिए अपनी स्क्रीन को लॉक करने के लिए आगे बढ़ा और ... यह काम किया !! खैर, सॉर्ट करें। लॉगिन स्क्रीन दिखाई नहीं देगी, इसलिए मैं वापस लॉग इन नहीं कर सका और पुनः आरंभ करने के लिए बाध्य होना पड़ा। लेकिन तब सब कुछ महान काम किया!
और बस! मैं अभी भी उत्सुक हूं कि ऐसा करने का सही तरीका क्या होगा । यदि आप जानते हैं, तो एक टिप्पणी छोड़ दें!
* उदाहरण के लिए, उदाहरण कार्यक्रम केवल निगरानी FAN_OPEN_PERMऔर FAN_CLOSE_WRITEघटनाओं के लिए स्थापित किया गया था , लेकिन इसमें यह एक FAN_MODIFYघटना थी।