LCD parlaklığını komut satırından (veya komut dosyasıyla) nasıl değiştirebilirim?

136

Hata # 1005495 ​​ etrafında çalışmak için (LCD parlaklığını hotkeys imkansız), benim LCD ekranın parlaklığını azaltmak için tek bir komut satırı sorgusuna sahip olmak istiyorum. Daha sonra bu sorguların her birine bir kısayol tuşu eşleyebilirdim.

Sorun şu ki: Komut satırındaki LCD parlaklığını nasıl artırıp azaltacağımı bilmiyorum. Sen?

    
sordu user69748 10.06.2012 19:28

12 cevap

142

Bunu yapmamızın bir yolu daha, xbacklight olarak adlandırılan yeni bir program ile, terminalinizi açın ve bunu yazın

sudo apt-get install xbacklight

sonra bu xbacklight -set 50

yazınız.

Orada 50, 0'dan 100'e kadar alabilen parlaklık aralığını temsil eder.

Ayrıca parlaklığı mevcut değerden belirtilen seviyeye kadar artırabilir ve azaltabilirsiniz. Eğer mevcut parlaklık değerinden% 10'a yükseltmek istediğinizi belirtmişseniz, bunu yapabilirsiniz.

xbacklight -inc 10

ve bunu% 10 azaltmak için

xbacklight -dec 10 
    
verilen cevap Ten-Coin 11.06.2012 07:28
131

Terminalinizi açın ve bunu yazın

xrandr -q | grep " connected"

size çıktıyı verir LVDS1 bağlı 1680x1050 + 0 + 0 (normal sola doğru sağa x eksen y eksenine) 331mm x 207mm

LVDS1 Ekranınız için Standlar var.

Yani şimdi yapmanız gereken

xrandr --output LVDS1 --brightness 0.5

0,5 parlaklık anlamına gelir ve 0,0 ile 1,0 arasında değişir. 0.0 -> gt Tam siyah. Eğer gerekli parlaklık değerini seçmelisiniz.

    
verilen cevap Ten-Coin 11.06.2012 07:25
80

Aşağıdaki işler benim için:

echo 400 > /sys/class/backlight/intel_backlight/brightness

Sanırım olası en büyük değer /sys/class/backlight/intel_backlight/max_brightness dosyasında.

    
verilen cevap palacsint 19.05.2014 11:51
12

Dizüstü Bilgisayarlar için,% sudo setpci -s 00:02.0 F4.B=80

En düşük en yüksek parlaklığa sahip olmak için 80 'yi [0-FF] olarak değiştirin. Belirtilen değer hex’te, 80 size maksimum 50% parlaklık verecektir.

Masaüstleri için [bana göre test edilmedi],% xgamma -gamma .75

    
verilen cevap Gaurav Gandhi 10.06.2012 19:37
5

Bunu terminalde deneyin:

xrandr --output LVDS1 --brightness 0.9

Son değeri istediğiniz gibi değiştirebilirsiniz, örn. 0.2

    
verilen cevap ripu 23.09.2013 00:12
3

İşte gözlerinizi rahatlatmanıza yardımcı olabilecek kısa bir çizgi. Sadece çizgi ile bir crontaab oluşturun veya bir komut dosyası oluşturun

xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1
    
verilen cevap Cristianpark 07.03.2014 21:32
3

Bu komut dosyasını yapın:

set-brightness.sh

#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The '/1' at the end forced bc to cast the result 
# to an integer, even if  is a float (which it 
# should be)
LOGIC="$(echo "( * ${MAX})/1" | bc)"
for i in */; do
    if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
        cat "${i}max_brightness" > "${i}brightness"
    fi
done
echo "$LOGIC" > "${TARGET}/brightness"

Kök olarak, 0 ile 1 arasında bir değerle çalıştırın.

sudo ./set-brightness.sh 0.5
  • Sisteminizde /sys/class/backlight/acpi_video0 bulunmuyorsa, orada en az bir dizin bulunmalıdır. Bu, aygıta özgü olabilir (örneğin, radeon_bl0 değerine sahibim).
  • Başkalarına sahipseniz, değer yığınlarını göz önünde bulundurun (dolayısıyla döngü diğer değerlerini 1.0'a getirin, ardından hedef birini istenen tutara ayarlayın).
  • acpi_video0 olmalıdır her zaman çalışırsa, her zaman kullanılabilir olan fiziksel parlaklık aralığına sahip değildir. Her birini deneyin ve "HEDEF" olarak en büyük gamı ​​olanı kullanın
verilen cevap Fordi 09.03.2016 20:18
2

@palacsint'in dediği gibi, echo 244 > /sys/class/backlight/intel_backlight/brightness yolu benim için çalışıyor.

Ancak, maksimum ve minimum değerler sırasıyla /sys/class/backlight/intel_backlight/max_brightness ve /sys/class/backlight/intel_backlight/bl_power dosyasında yeniden gönderilir.

Ayrıca, bilgisayarınızın şu anda çalıştırdığı gerçek parlaklık /sys/class/backlight/intel_backlight/actual_brightness

dizininde mevcut.     
verilen cevap user281989 07.12.2014 06:59
2

Yukarıdaki yanıtları kullanarak, ekran parlaklığını (dizüstü bilgisayarın klavyesi, dökülen bir çay sorunu yaşadığından ve kullanılamaz hale geldikçe) değiştirmek için bu betiği (ana dizimde brightness.sh olarak kaydedildi) oluşturdum. Kullanmaktan çekinmeyin (eğer belirlenmiş dosyalara sahipseniz ... aksi takdirde bunların varyasyonuna işaret etmek gerekli olacaktır).

#!/bin/bash
function main_menu
{
    sudo clear
    cursetting=$(cat /sys/class/backlight/intel_backlight/brightness)
    maxsetting=$(cat /sys/class/backlight/intel_backlight/max_brightness)
    powersave=$((maxsetting/5))
    conservative=$((powersave*2))
    medium=$((powersave*3))
    performance=$((powersave*4))
    echo ""
    echo "----------------------- Brightness -----------------------"
    echo " 1. Set Display to Minimum (Powersave) brightness setting."
    echo " 2. Set Display to Low (Conservative) brightness setting."
    echo " 3. Set Display to Medium brightness setting."
    echo " 4. Set Display to High (Performance) brightness setting."
    echo " 5. Set Display to Maximum brightness setting."
    echo " 6. Exit."
    echo "----------------------------------------------------------"
    if [ $cursetting -eq $powersave ]; then
     cursetting='Minimum'
    else
     if [ $cursetting -eq $conservative ]; then
      cursetting='Conservative'
     else
      if [ $cursetting -eq $medium ]; then
       cursetting='Medium'
      else
       if [ $cursetting -eq $performance ]; then
        cursetting='Performance'
       else
        if [ $cursetting -eq $maxsetting ]; then
         cursetting='Maximum'
        fi
       fi
      fi
     fi
    fi
    echo "        Current Display Setting - "$cursetting;
    choice=7
    echo ""
    echo -e "Please enter your choice: \c"
}

function press_enter
{
    echo ""
    echo -n "Press Enter to continue."
    read
    main_menu
}

main_menu
while [ $choice -eq 7 ]; do
read choice

if [ $choice -eq 1 ]; then
 echo $powersave | sudo tee /sys/class/backlight/intel_backlight/brightness
 main_menu
else
 if [ $choice -eq 2 ]; then
  echo $conservative | sudo tee /sys/class/backlight/intel_backlight/brightness
  main_menu
 else
  if [ $choice -eq 3 ]; then
   echo $medium | sudo tee /sys/class/backlight/intel_backlight/brightness
   main_menu
  else
   if [ $choice -eq 4 ]; then
    echo $performance | sudo tee /sys/class/backlight/intel_backlight/brightness
    main_menu
   else
    if [ $choice -eq 5 ]; then
     echo $maxsetting | sudo tee /sys/class/backlight/intel_backlight/brightness
     main_menu
    else
     if [ $choice -eq 6 ]; then
      exit;
     else
      echo -e "Please enter the NUMBER of your choice: \c"
      choice = 7
     fi
    fi
   fi
  fi
 fi
fi
done
    
verilen cevap Aaron Nichols 26.02.2017 01:13
1

KDE 4.12:

qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement/Actions/BrightnessControl setBrightness 55
    
verilen cevap int_ua 26.03.2014 05:54
1

ddccontrol , harici monitörler için arkadan aydınlatmanın kontrol edilmesi için başka bir seçenektir. Burada harici monitörümün arka ışığını gücünün% 50'sine ayarlayabilirim:

ddccontrol -p -r 0x10 -w 50

Redshift 'in parlaklık değişiklikleri . Orada, cihazlar arasında uyumluluğun iyileştirilmesi için dizüstü bilgisayarlar ve harici ekranlar gibi bir Linux çekirdeği için patchset bulunduğunu gördüm. Benzer şekilde sysfs aracılığıyla çalışabilir.

Bu arada, burada benim için çalışan tek şey ddccontrol. Her zamanki gibi, Arch wiki'nin de konuyla ilgili olarak iyi genel belgeler vardır.

    
verilen cevap anarcat 25.01.2018 23:14
0

xbacklight kullanarak etkileşimli ncurses benzeri kullanıcı arayüzü

Zavallı bir adamın ncurses. % Co_de% tuşuna basıp% 10 azalır, h isabet eder ve% 10 artar. Sonra mevcut parlaklığı göster.

xback() (
  done=false;
  echo "less: h, more: l, quit: q"
  while ! $done; do
    read -rsn1 key
    if [ "$key" = h ]; then
      xbacklight -dec 10
    elif [ "$key" = l ]; then
      xbacklight -inc 10
    elif [ "$key" = q ]; then
      done=true
    fi
    printf "\r$(xbacklight -get) "
  done
)
    

Etiketlerdeki diğer soruları oku