सूर्योदय और सूर्यास्त के आधार पर प्रदर्शन चमक को स्वचालित रूप से समायोजित करें


10

Ask Ubuntu में इसी तरह के सवाल और जवाब हैं जो इन समाधानों की ओर इशारा करते हैं:

लेकिन उन्हें या तो सूर्योदय और सूर्यास्त के समय की मैन्युअल प्रविष्टि की आवश्यकता होती है या वे केवल रंग संतुलन को समायोजित करते हैं और रात में अधिक लाल जोड़ते हैं।

मैं एक ऐसे समाधान की तलाश में हूं जो स्वचालित रूप से प्रत्येक दिन सूर्योदय और सूर्यास्त के समय प्राप्त करता है और शारीरिक रूप से प्रदर्शन चमक को समायोजित करता है। इसके अलावा, मैं 60 से 120 मिनट की अवधि में एक संक्रमण प्रभाव चाहता हूं, इसलिए मुझे प्रदर्शन में बदलाव की सूचना नहीं है।

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

जवाबों:


7

2019 से अपडेट किया गया पोस्ट - आंखों की रोशनी

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

सूर्योदय के समय (प्रत्येक दिन इंटरनेट से स्वतः प्राप्त होता है), आपकी स्क्रीन की चमक (और वैकल्पिक रूप से गामा भी) धीरे-धीरे समायोजित हो जाती है। क्रमिक समायोजन आपके द्वारा परिभाषित किया गया है लेकिन, 120 मिनट मेरे लिए काम करता है। समायोजन को ध्यान में रखने के लिए समायोजन के बीच एक नींद अंतराल सेट करें। कहीं भी 15 और 60 सेकंड के बीच में सबसे अच्छा है और डिफ़ॉल्ट 60 है।

जब तक सूर्यास्त संक्रमण शुरू नहीं हो जाता, तब तक नेत्रहीन डेमन कई घंटे सोते हैं। सूर्योदय संक्रमण के विपरीत, सूर्यास्त संक्रमण धीरे-धीरे स्क्रीन की चमक कम कर देता है (और वैकल्पिक रूप से गामा भी) इसलिए यह ध्यान देने योग्य नहीं है। सूर्यास्त से 90 मिनट पहले की सिफारिश की जाती है, लेकिन आप अपनी इच्छानुसार कोई भी अवधि निर्धारित कर सकते हैं।

सूर्यास्त संक्रमण के दौरान गामा को बढ़ाने के लिए परिभाषित किया जा सकता है। उदाहरण के लिए, लाल गामा को आंखों के तनाव को कम करने के लिए दिन के दौरान 1.0 और रात के दौरान 1.2 के रूप में परिभाषित किया जा सकता है। बदले में ब्लू गामा को दिन के दौरान 1.0 और रात के दौरान .8 के रूप में परिभाषित किया जा सकता है, इसलिए इसके बजाय घट जाएगा।

संसाधनों को कम करने के लिए, आंखों को सूर्यास्त और सूर्योदय के बीच की अवधि के दौरान पूरी नींद आती है। एक समय अपवाद हैं जब निलंबित या गर्म प्लगिंग बाह्य मॉनिटर से फिर से शुरू हो रहा है। यह इस बात पर निर्भर करता है कि आप कहां रहते हैं और वर्ष का मौसम लेकिन, औसत नींद 12 घंटे की होगी।

आप Github से आईशैल डाउनलोड कर सकते हैं


2017 से मूल पोस्ट

परिचय

अतिरिक्त कार्यक्रमों को स्थापित करने की आवश्यकता के साथ यह एक बैश समाधान है। इसके लिए एक इंटरनेट कनेक्शन की आवश्यकता होती है (यदि आप इसे पढ़ रहे हैं तो आपके पास एक है) प्रत्येक दिन सूर्योदय और सूर्यास्त के समय स्वचालित रूप से प्राप्त करने के लिए। यह एक उपयोगकर्ता के अनुकूल विन्यास स्क्रीन प्रदान करता है। यह अपने आप शुरू हो जाता है cronऔर इसके लिए किसी उपयोगकर्ता सहभागिता की आवश्यकता नहीं है।

यह उत्तर कई भागों में विभाजित है

  • स्वचालित रूप से प्रत्येक दिन सूर्योदय और सूर्यास्त के समय के साथ मिलता है cron
  • चमक सेटिंग्स और संक्रमण समय कॉन्फ़िगर करें
  • मुख्य स्क्रिप्ट दिन के समय के आधार पर चमक को समायोजित करने के लिए
  • प्रत्येक बूट के साथ स्वचालित रूप से प्रदर्शन-ऑटो-चमक शुरू करें cron
  • तत्काल / पारदर्शी चमक समायोजन निलंबित से फिर से शुरू
  • सारांश

क्रोन के साथ प्रत्येक दिन सूर्योदय और सूर्यास्त के समय स्वचालित रूप से प्राप्त करें

आपके स्थान के लिए सूर्योदय और सूर्यास्त के समय की रिपोर्ट करने के लिए कई वेबसाइटें हैं। यह स्क्रिप्ट ( https://www.timeanddate.com/ ) का उपयोग करती है जो लंबे समय से एक प्रसिद्ध साइट रही है।

सूडो शक्तियों के साथ फ़ाइल को संपादित करें /usr/local/bin/sun-hoursऔर इसे चिपकाएँ:

#!/bin/bash

# Called daily from /etc/cron.daily/sun-hours
while true; do

### "-q"= quiet, "-O-" pipe output
echo $(wget -q -O- https://www.timeanddate.com/sun/canada/edmonton | grep -oE 'Sunrise Today.{35}' | awk -F\> '{print $3}' | tr --delete "<") > /tmp/sunrise
echo $(wget -q -O- https://www.timeanddate.com/sun/canada/edmonton | grep -oE 'Sunset Today.{35}' | awk -F\> '{print $3}' | tr --delete "<") > /tmp/sunset

## If network is down files will have one byte size
size1=$(wc -c < /tmp/sunrise)
size2=$(wc -c < /tmp/sunset)

if [ $size1 -gt 1 ] && [ $size2 -gt 1 ] ; then
    cp /tmp/sunrise /usr/local/bin/sunrise
    cp /tmp/sunset  /usr/local/bin/sunset
    chmod 666 /usr/local/bin/sunrise
    chmod 666 /usr/local/bin/sunset
    rm /tmp/sunrise
    rm /tmp/sunset
    exit 0
else
    logger "/etc/cron.daily/sun-hours: Network is down. Waiting 5 minutes to try again."
    sleep 300
fi

done

स्क्रिप्ट को सहेजने से पहले दो घटनाओं को /canada/edmontonअपने देश और शहर से बदल दें। www.timeanddate.comसटीक नाम या संख्या प्राप्त करने के लिए साइट पर जाएं । उदाहरण के लिए, "पेरिस, यूएसए" के दर्जनों नाम हैं, इसलिए उनमें /worldclock/@5205082"पेरिस, पीए यूएसए" जैसे नंबर होंगे ।

प्रत्येक दिन सूर्य-घंटे की स्क्रिप्ट को चलाने के लिए क्रोन का उपयोग करें

सूडो शक्तियों के साथ फ़ाइल को संपादित करें /etc/cron.daily/sun-hoursऔर इसे चिपकाएँ:

#!/bin/sh
#
# Each day /etc/cron.daily/sun-hours will get sunrise and sunset times.

sleep 60 # give time for network to come up.
/usr/local/bin/sun-hours

दोनों फ़ाइलों को निष्पादन योग्य के रूप में चिह्नित करें sudo chmod a+x ___/sun-hoursजहां "___" प्रत्येक फ़ाइल के लिए निर्देशिका है।

प्रत्येक दिन सूर्योदय / सूर्यास्त के समय में परिवर्तन की निगरानी के लिए Conky का उपयोग करें

Conky आपके सिस्टम की निगरानी के लिए एक लोकप्रिय उपकरण है। यहां सूर्योदय, सूर्यास्त और चमक सेटिंग प्रदर्शित करने के लिए आदेश दिए गए हैं:

${color orange}${voffset 2}${hr 1}
${color}${goto 5}Day: ${color green}${execpi 300 cat /usr/local/bin/sunrise}  ${color}Night: ${color green}${execpi 300 cat /usr/local/bin/sunset}  ${color}Level: ${color green}${execpi 10 cat cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}

यह है जो ऐसा लग रहा है:

प्रदर्शन-ऑटो-चमक शंकु

नोट: यह Conky कोड का उपयोग करता है, intel_backlightजिसे आपको नीचे दिए गए अनुभागों में वर्णित अनुसार अपने प्रदर्शन एडाप्टर के आधार पर बदलना होगा।

चमक सेटिंग्स और संक्रमण समय कॉन्फ़िगर करें

आप अपने प्रदर्शन को सूर्योदय पर पूर्ण चमक और सूर्यास्त पर पूर्ण मंदता में नहीं बदलना चाहते हैं। एक संक्रमण अवधि की आवश्यकता है। इसके अतिरिक्त पूर्ण चमक और पूर्ण मंद के लिए चर को रिकॉर्ड करने के लिए एक कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होती है। यह कॉन्फ़िगरेशन स्क्रीन है:

प्रदर्शन-स्वत: चमक-config

स्क्रीन को मानक ज़ेनिटी कमांड का उपयोग करके बनाया गया है और इस तरह के मौजूदा मान लेबल में "" (मान) टैग के साथ दिखाए जाते हैं और यदि आवश्यक हो तो आप नए मूल्यों में कुंजी देते हैं। अन्यथा नए मान रिक्त होने पर मौजूदा फ़ाइलें रखी जाती हैं।

intel_backlightयदि अलग हो तो अपने डिस्प्ले ड्राइवर से बदलें । अपने नाम के उपयोग का पता लगाने के लिए ls /sys/class/backlight/*/brightness:।

Sudo पॉवर का उपयोग करके /usr/local/bin/auto-brightness-configइस कोड में फाइल और पेस्ट बनाएं :

#!/bin/bash

# Read hidden configuration file with entries separated by " " into array
IFS=' ' read -ra CfgArr < /usr/local/bin/.auto-brightness-config

# Zenity form with current values in entry label
# because initializing multiple entry data fields not supported
output=$(zenity --forms --title="Display Auto Brightness Configuration" \
        --text="Enter new settings or leave entries blank to keep (existing) settings" \
   --add-entry="/sys/class/backlight/??????/brightness driver : (${CfgArr[0]})" \
   --add-entry="Day time maximum display brightness : (${CfgArr[1]})" \
   --add-entry="Transition minutes after sunrise to maximum : (${CfgArr[2]})" \
   --add-entry="Night time minimum display brightness : (${CfgArr[3]})" \
   --add-entry="Transition minutes before sunset to minimum : (${CfgArr[4]})")

IFS='|' read -a ZenArr <<<$output # Split zenity entries separated by "|" into array elements

# Update non-blank zenity array entries into configuration array
for i in ${!ZenArr[@]}; do
    if [[ ${ZenArr[i]} != "" ]]; then CfgArr[i]=${ZenArr[i]} ; fi
done

# write hidden configuration file using array (fields automatically separated by " ")
echo "${CfgArr[@]}" > /usr/local/bin/.auto-brightness-config

फ़ाइल को निष्पादन योग्य के रूप में चिह्नित करें:

chmod a+x /usr/local/bin/auto-brightness-config

मुख्य कार्यक्रम display-auto-brightness

Sudo पॉवर का उपयोग करके /usr/local/bin/display-auto-brightnessइस कोड में फाइल और पेस्ट बनाएं :

#!/bin/bash

# NAME: display-auto-brightness
# PATH: /usr/local/bin
# DESC: Set display brightness based on min/max values, sun rise/set time
#       and transition minutes.
# CALL: Called from cron on system startup with @reboot option.
# DATE: Feb 17, 2017. Modified: Dec 2, 2017.

# NOTE: Only sleep for 1 minute to make display brightness changes gradual.
#       Configuration file can change any time so variables reread when waking.
#       The file is maintained by /usr/local/bin/auto-brightness-config script.

#       Sunrise and sunset time obtained from www.dateandtime.com using
#       /usr/local/bin/sun-hours script. The script is called from cron using
#       /etc/cron.daily/cron-daily-sun-hours. Variables stored in am/pm format
#       in /usr/local/bin/sunrise and /usr/local/bin/sunset.

#       When suspending at 6 am it might be dark with setting at 300. When 
#       resuming at 4:30pm it might be full sun and setting needs to be 2000.
#       It will take between 1 and 59 seconds to adjust screen brightness with
#       sudden jump in brightness. To correct this create kill sleep command
#       during suspend with /lib/systemd/system-sleep/display-auto-brightness
#       script.

# TODO: Add support for external monitors connected via HDMI / DisplayPort.
#       xrandr --output HDMI-0  --brightness .799
#       xrandr --output DP-1-1  --brightness 1.15

if [[ $(id -u) != 0 ]]; then # root powers needed to call this script
    echo display-auto-brightness must be called with sudo powers
    exit 1
fi

# global variable
LastSetting=""

function set-and-sleep {
    if [[ "$1" != "$LastSetting" ]]; then
        sudo sh -c "echo $1 | sudo tee $backlight"
        echo "$1" > "/tmp/display-current-brightness"
        LastSetting="$1"
    fi
    sleep 60
}  

re='^[0-9]+$'   # regex for valid numbers

function calc-level-and-sleep {
    # Parms $1 = number of minutes for total transition
    #       $2 = number of seconds into transition

    secTotal=$(( $1 * 60 )) # Convert total transition minutes to seconds
    Adjust=$( bc <<< "scale=6; $transition_spread * ( $2 / $secTotal )" )
    Adjust=$( echo $Adjust | cut -f1 -d"." ) # Truncate number to integer

    if ! [[ $Adjust =~ $re ]] ; then
        Adjust=0   # When we get to last minute $Adjust can be non-numeric
    fi

    calc_bright=$(( $min_bright + $Adjust ))
    set-and-sleep "$calc_bright"
}


while true ; do

    # Although variables change once a day it could be weeks between reboots.
    sunrise=$(cat /usr/local/bin/sunrise)
    sunset=$(cat /usr/local/bin/sunset)

    # Read hidden configuration file with entries separated by " " into array
    IFS=' ' read -ra CfgArr < /usr/local/bin/.auto-brightness-config
    backlight="/sys/class/backlight/${CfgArr[0]}/brightness"
    max_bright="${CfgArr[1]}"
    after_sunrise="${CfgArr[2]}"
    min_bright="${CfgArr[3]}"
    before_sunset="${CfgArr[4]}"

    # Current seconds
    secNow=$(date +"%s")
    secSunrise=$(date --date="$sunrise today" +%s)
    secSunset=$(date --date="$sunset today" +%s)

    # Is it night time?
    if [ "$secNow" -gt "$secSunset" ] || [ "$secNow" -lt "$secSunrise" ]; then
        # MINIMUN: after sunset or before sunrise nightime setting
        set-and-sleep "$min_bright"
        continue
    fi

    # We're somewhere between sunrise and sunset
    secMaxCutoff=$(( $secSunrise + ( $after_sunrise * 60 ) ))
    secMinStart=$((  $secSunset  - ( $before_sunset * 60 ) ))

    # Is it full bright day time?
    if [ "$secNow" -gt "$secMaxCutoff" ] && [ "$secNow" -lt "$secMinStart" ]; then
        # MAXIMUN: after sunrise transition AND before nightime transition
        set-and-sleep "$max_bright"
        continue
    fi

    # Daytime - nightime = transition brightness levels
    transition_spread=$(( $max_bright - $min_bright ))

    # Are we between sunrise and full brightness?
    if [ "$secNow" -gt "$secSunrise" ] && [ "$secNow" -lt "$secMaxCutoff" ]; then
        # Current time - Sunrise = progress through transition
        secPast=$(( $secNow - $secSunrise ))
        calc-level-and-sleep $after_sunrise $secPast
        continue
    fi

    # Are we between beginning to dim and sunset (full dim)?
    if [ "$secNow" -gt "$secMinStart" ] && [ "$secNow" -lt "$secSunset" ]; then
        # Sunset - Current time = progress through transition
        secBefore=$(( $secSunset - $secNow ))
        calc-level-and-sleep $before_sunset $secBefore
        continue
    fi

    # At this stage brightness was set with manual override outside this program
    # or exactly at a testpoint, then it will change next minute so no big deal.
    sleep 60 # reset brightness once / minute.

done # End of forever loop

फ़ाइल को निष्पादन योग्य के रूप में चिह्नित करें:

chmod a+x /usr/local/bin/display-auto-brightness

नोट: 26 अगस्त, 2017 को बग को ठीक करने के लिए असफल संशोधित किया गया, जहां कार्यक्रम बंद हो जाएगा जब अंतिम चमक स्तर न्यूनतम या अधिकतम चमक के बराबर था और वर्तमान मिनट का समायोजन मूल्य रिक्त (शून्य) है। 2 दिसंबर, 2017 को सफलतापूर्वक निर्धारित किया गया, लेकिन 17 फरवरी, 2018 तक प्रकाशित नहीं किया गया। ओहो!

प्रत्येक बूट के साथ स्वचालित रूप से प्रदर्शन-ऑटो-चमक शुरू करें cron

क्रोन का उपयोग मुख्य एप्लिकेशन को प्रत्येक बूट को शुरू करने के लिए किया जाता है। फ़ाइल /etc/cron.d/display-auto-brightnessको sudo शक्तियों के साथ बनाएँ और इसमें कॉपी करें:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot   root    /usr/local/bin/display-auto-brightness

तत्काल चमक समायोजन निलंबित से फिर से शुरू

आप अपने कंप्यूटर को सुबह 6 बजे देख सकते हैं जब यह सूरज उगने से पहले आता है और आपकी सेटिंग 300 पर होती है। आप इसे शाम 4 बजे फिर से शुरू कर सकते हैं जब सूरज तेज हो और सेटिंग 2000 होनी चाहिए लेकिन आपको इसके लिए 1 से 59 सेकंड तक इंतजार करना display-auto-brightnessहोगा प्रदर्शन रीसेट करें। जब डिस्प्ले रीसेट होता है तो परिवर्तन नाटकीय होता है। इसे हल करने के लिए एक systemdस्क्रिप्ट की जरूरत है। /lib/systemd/system-sleep/display-auto-brightnessयुक्त फ़ाइल बनाएँ :

#!/bin/sh

# NAME: display-auto-brightness
# PATH: /lib/systemd/system-sleep/
# DESC: Restart display brightness when resuming from suspend
# CALL: Automatically called when system goes to sleep and wakes up
# DATE: August 2017. Modified: June 10, 2018.

# NOTE: Gives instant display brightness adjustment instead of waiting 1 to 59 seconds.

logger -t "logger -t "test" "\$0=$0, \$1=$1, \$2=$2" test" "\$0=$0, \$1=$1, \$2=$2"

case $1/$2 in
  pre/*)
    echo "/lib/systemd/system-sleep/display-auto-brightness: Going to $2..."
    ;;
  post/*)
    # March 28, 2018 On AW17R3 this script runs too fast
    sleep 2

    echo "/lib/systemd/system-sleep/display-auto-brightness: Resuming from $2..."

    # Find running tree processes containing "display-auto" AND "sleep"
    ProgramTree=$(pstree -g -p | grep display-auto | grep sleep)
    # echo's below will print in /var/log/syslog. Comment out with # to suppress
    echo "pstree -g -p | grep display-auto | grep sleep"
    echo "============================================="
    echo "$ProgramTree"

    # extract sleep program ID within `pstree`. eg we would want "16621" below:
    # |-cron(1198,1198)---cron(1257,1198)---sh(1308,1308)---display-auto-br(1321,1308)---sleep(16621,1308)
    pID=$(echo "$ProgramTree" | cut -f 6 -d '(' )
    pID=$(echo "$pID" | cut -f1 -d",")

    kill $pID  # kill sleep command forcing screen brightness to adjust immediately
    rm /tmp/display-current-brightness
    echo "display-auto-brightness: sleep pID: '$pID' has been killed."
    ;;
esac

फ़ाइल को निष्पादन योग्य के रूप में चिह्नित करें:

chmod a+x /lib/systemd/system-sleep/display-auto-brightness

सारांश

प्रदर्शन की चमक का स्तर systray है

पहले से प्रस्तुत Conky उदाहरण के अलावा, संकेतक-सिस्मोनिटर आप बैश के माध्यम से सिस्ट्रे में वर्तमान चमक प्रदर्शित कर सकते हैं:

प्रदर्शन-ऑटो-चमक सिस्ट्रे

इस सिस्ट्रे उदाहरण में चमक सेट की जाती है 418और सूर्यास्त से लगभग 20 मिनट पहले होती है। सूर्यास्त के समय मान 250 होगा और दिन की पूरी चमक 1200 है। इस मशीन पर Intel_backlight = 4882 संभव है, लेकिन अगर आप पर्दे के साथ घर के अंदर हैं तो स्क्रीन सूरज में घूरने जैसा है।

इस कोड का उपयोग करके सिस्ट्रे इंडिकेटर सेटअप है:

#!/bin/bash

if [ -f ~/.lock-screen-timer-remaining ]; then
    text-spinner
    Spinner=$(cat ~/.last-text-spinner) # read last text spinner used
    Minutes=$(cat ~/.lock-screen-timer-remaining)
    systray=" $Spinner Lock screen in: $Minutes"
else
    systray=" Lock screen: OFF"
fi

if [ -f /tmp/display-current-brightness ]; then
    Brightness=$(cat /tmp/display-current-brightness)
    systray="$systray Brightness: $Brightness"
else
    systray="$systray Brightness: OFF"
fi

echo "$systray" # sysmon-indidicator will put echo string into systray for us.

exit 0

यह Q & A ( आवेदन संकेतक के रूप में सिस्ट्रे में BASH प्रदर्शित कर सकता है? ) संकेतक-sysmonitor को सेटअप करने का तरीका बताता है।

भविष्य के संवर्द्धन

  • इस उत्तर के लिए bash लिपियों को माइग्रेट करना
  • बाहरी मॉनिटर का उपयोग करने के लिए समर्थन जोड़ना xrandr
  • अधिक लाल / कम नीले रंग का उपयोग करने के लिए समर्थन जोड़ना xrandr

महान पोस्ट लेकिन क्या आप मेरी मदद कर सकते हैं कि संक्रमण आदि को कैसे कॉन्फ़िगर किया जाए?
मारेक अर्बनोविक

@MU अपनी तरह की टिप्पणी के लिए धन्यवाद। मैं कुछ महीने पहले लिखे गए सस्पेंड / रिज्यूमे में बदलाव के साथ डॉक को फिर से जारी करने की प्रक्रिया में हूं। इसके अलावा मैं जल्द ही WSL (लिनक्स के लिए विंडोज सबसिस्टम) हाइब्रिड कोड लिखूंगा। मैं आपकी चिंताओं को नए दस्तावेज़ में भी संबोधित करना चाहूंगा। क्या आपको /usr/local/bin/auto-brightness-configस्क्रिप्ट बनाने में समस्या हो रही है ? क्या आपको /sys/class/backlight/??????/brightnessड्राइवर के नाम की पहचान करने में परेशानी हो रही है ? मैं इसे एक महान उपयोगिता बनाना चाहता हूं और आपका प्रश्न महत्वपूर्ण है।
विनयुनुच्स

मुझे पता नहीं है कि आपके पोस्ट के आधार पर डिस्प्ले ऑटो ब्राइटनेस कॉन्फ़िगरेशन कैसे प्राप्त करें
Marek Urbanowicz

@MU नाम की फ़ाइल /usr/local/bin/auto-brightness-configमें आपकी /usr/local/binनिर्देशिका के लिए उपरोक्त कोड की प्रतिलिपि बनाएँ auto-brightness-config। फिर टर्मिनल चिह्न से यह निष्पादन योग्य है chmod a+x /usr/local/bin/auto-brightness-config। फिर टर्मिनल से स्क्रिप्ट टाइप करके चलाएं /usr/local/bin/auto-brightness-config। टर्मिनल खोलने और स्क्रिप्ट नाम टाइप करने से बचने के लिए आप स्क्रिप्ट को डेस्कटॉप शॉर्टकट सेट कर सकते हैं।
WinEunuuchs2Unix

1
@dessert ने आखिरकार : github.com/WinEunuuchs2Unix/eyesome : eyesomeके अगले अवतार के लिए एक github पेज सेटअप किया है। यह अगले कुछ हफ्तों में प्रलेखन और परिशोधन के साथ इंटरफेस में अक्सर अपडेट किया जाएगा। display-auto-brightness
WinEunuuchs2Unix

3

मैंने सिर्फ एक प्रोग्राम लिखा, जो लगभग वही है जो आप देख रहे हैं। यह आसपास की चमक प्राप्त करने के लिए आपके वेब कैमरा द्वारा ली गई छवियों के आधार पर स्क्रीन की चमक को बदल देता है। आप चमक का पता लगाने के लिए अंतराल का चयन कर सकते हैं और खुद से गति को कम कर सकते हैं।

https://github.com/Wandersalamander/Dimmer


1
अधिकांश लोगों के लिए एक महान विचार की तरह लगता है
वेबकेम

1
@ WinEunuuchs2Unix कैम पर टेप के साथ 'संबंधित' लोगों के लिए भी यह बहुत अच्छा हो सकता है! आपको कैप्चर को बेकार करने के लिए वेब टेप को काले टेप से ढंकने की आवश्यकता नहीं है - सफेद कागज का एक टुकड़ा बहुत ही अज्ञात प्रभाव प्राप्त करता है, और फिर भी कमरे की चमक को मापने के लिए कैमरे की क्षमता को बरकरार रखता है। वास्तव में कागज की चादर वास्तव में इसे बेहतर बना सकती है, क्योंकि यह अधिक समान रूप से प्रकाश की मात्रा को मापता है जो वास्तव में कैमरे को हिट करता है, जो कि ध्वनि के बारे में उसी तरह होता है जो मॉनिटर स्क्रीन को हिट करता है, अगर कैमरा इसके ठीक ऊपर है। =)
विनियस एम

0

यह स्क्रिप्ट वेब कैमरा छवि डेटा के आधार पर बैकलाइट चमक को समायोजित करती है। हो सकता है कि यह आपकी समस्या को हल करने में आपकी मदद करे।

https://github.com/unxed/brightness.sh/blob/master/backlight.sh


0

यदि आपके पास इंटरनेट तक पहुंच नहीं है, तो आप hdate का उपयोग कर सकते हैं:

hdate -s -l N50 -L E14 -z2

आउटपुट:

Wednesday, 26 June 2019, 23 Sivan 5779

sunrise: 04:55

sunset: 21:17

-सूर्यास्त सूर्योदय

-L -L ऊंचाई और प्राग का अक्षांश (50 ° 05 14N 14 ° 25 )E)

-z जोन SELC = + 2

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