सॉफ्टवेयर के माध्यम से बाहरी मॉनिटर चमक को नियंत्रित करें


11

नमस्ते उबंटू समुदाय,

मैं कमांड के माध्यम से DisplayPort से जुड़े अपने DELL U2713HM की चमक को नियंत्रित कर सकता हूं:

ddccontrol -p -r 0x10 -w 53

जहां इस उदाहरण में संख्या 53 चमक स्तर (सीमा 0 से 100) का प्रतिनिधित्व करती है। लेकिन मुझे नहीं पता कि मेरे कीबोर्ड पर कमांड को मेरी ब्राइटनेस कीज़ से कैसे जोड़ा जाए।

मैंने पहले से ही खोजा, लेकिन सिर्फ एकीकृत लैपटॉप स्क्रीन के उत्तर मिले। में /sys/class/backlightफ़ोल्डर है acpi_video0कुछ सबफ़ोल्डर और फ़ाइलों के साथ। फ़ाइल वास्तविक_ब्राइटनेस में 0 से 20 तक की संख्या है, जो चमक कुंजियों को दबाने पर बदल रही है।

मैं अपने बाहरी मॉनिटर को / sys / class / backlight में डिवाइस के रूप में कैसे सूचीबद्ध कर सकता हूँ?

पुनश्च: मैं एकीकृत ग्राफिक्स इंटेल HD4000 के साथ एक नया उबंटू 12.10 इंस्टॉल कर रहा हूं।


जब आपके द्वारा प्रदान की गई कमांड आपके बाहरी मॉनिटर के लिए काम करती है तो आप सिस्टम सेटिंग्स> कीबोर्ड> शॉर्टकट में कस्टम शॉर्टकट कुंजियाँ सेट कर सकते हैं।
जीभपु

यह सही है, लेकिन फिर मैं सिर्फ दो कमांड (अंधेरे / उज्ज्वल) भेज सकता हूं और मैं उबंटू आंतरिक चमक परिवर्तक को अच्छी चमक एनीमेशन के साथ अनदेखा करूंगा।
रेमी

क्या आप आउटपुट के साथ एक लिंक पोस्ट कर सकते हैं ddccontrol -p, मैं एक समाधान के बारे में सोच रहा हूं ...
गेरहार्ड बर्गर

आशा है कि यह आपके लिए कोई मददगार है: pastebin.com/L7Y7pRZe
remi

जवाबों:


6

मुझे नहीं लगता कि आपके बाहरी मॉनिटर को पाने में आपका वांछित समाधान /sys/class/backlightकाम करेगा, लेकिन अच्छी खबर यह है कि आपके पास अच्छा चमक एनीमेशन हो सकता है!

प्रयत्न

notify-send " " -i notification-display-brightness-low -h int:value:50 -h string:x-canonical-private-synchronous:brightness &

अब हम एक स्क्रिप्ट बना सकते हैं जो उबंटू की चमक परिवर्तक को अनुकरण करती है:

#!/bin/bash
#get current brightness
presbright=$(ddccontrol -p | grep -A1 0x10 | tr -d '\n\t' | sed 's/.*value=\([^a-zA-Z]*\),.*/\1/')
#stepsize for the brightness change
stepsize=10

case "$1" in
        up)
          newbright=$(( ${presbright}+${stepsize} ))
          newbright=$(echo $newbright | awk '{if($1 < 100){if($1 > 0) print $1; else print 0;} else print 100;}')

          notify-send " " -i notification-display-brightness-low -h int:value:$newbright -h string:x-canonical-private-synchronous:brightness &
          ddccontrol -p -r 0x10 -w $newbright
        ;;
        down)
          newbright=$(( ${presbright}-${stepsize} ))
          newbright=$(echo $newbright | awk '{if($1 < 100){if($1 > 0) print $1; else print 0;} else print 100;}')

          notify-send " " -i notification-display-brightness-low -h int:value:$newbright -h string:x-canonical-private-synchronous:brightness &
          ddccontrol -p -r 0x10 -w $newbright            
        ;;
        status)
          echo $presbright
        ;;
        *)
          echo "Accepted arguments are: up, down, status."
        ;;
esac

exit 0

जैसा कि आप देख सकते हैं कि यह 0 और 100 के बीच के मानों को क्लैम्प कर देता है। अब आप स्क्रिप्ट को बाइंड कर सकते हैं upऔर सिस्टम सेटिंग्स> कीबोर्ड> शॉर्टकट केdown साथ अपनी पसंद के कुछ कीबोर्ड शॉर्टकट्स की तरह स्क्रिप्ट को कॉल कर सकते हैं , जैसे कि fotomonster सुझाव दिया गया है।


नोट्स:
मुझे नहीं पता कि कितना समय ddccontrol -pलगता है, अगर यह बहुत लंबा है तो आप syncस्क्रिप्ट में एक विकल्प भी जोड़ सकते हैं जो मॉनिटर की चमक मान को एक फ़ाइल में सहेजता है। तब ddccontrolआप से वर्तमान चमक प्राप्त करने के बजाय बस इसे अपनी फ़ाइल से प्राप्त कर सकते हैं, जो बहुत तेज़ होना चाहिए। बेशक आपको फ़ाइल को नई चमक लिखने के लिए कॉल upऔर अपडेट करना होगा down...


आर्च्लिनक्स पर इस पोस्ट से प्रेरित स्क्रिप्ट ।


बहुत अच्छा काम करता है, बहुत-बहुत धन्यवाद। ठीक यही मैं चाहता था। अब पूरी प्रणाली एक आईमैक की तरह अच्छी तरह से एकीकृत है, लेकिन फिर भी विन्यास योग्य है।
रेमी

: फिर भी एक छोटे से मदद की जरूरत है, मेरे चमक कुंजियों को स्क्रिप्ट बाध्यकारी askubuntu.com/questions/239560/...
रेमी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.