Harici monitör parlaklığını yazılım aracılığıyla kontrol etme


11

Merhaba Ubuntu topluluğu,

DisplayPort'a bağlı DELL U2713HM'nin parlaklığını şu komutla kontrol edebilirim:

ddccontrol -p -r 0x10 -w 53

burada bu örnekte 53 sayısı parlaklık seviyesini temsil etmektedir (aralık 0 ila 100). Ancak komutu klavyemdeki parlaklık tuşlarına nasıl bağlayacağımı bilmiyorum.

Zaten aradım, ancak entegre dizüstü bilgisayar ekranlarına cevaplar buldum. In /sys/class/backlight, acpi_video0bazı alt klasörlerin ve dosyaların bulunduğu klasördür . Actual_brightness dosyası, parlaklık tuşlarına bastığımda değişen 0 ile 20 arasında bir sayı içeriyor.

Harici monitörümü / sys / class / backlight içinde bir aygıt olarak nasıl listeleyebilirim?

Not: Intel HD4000 tümleşik grafik kartı ile yeni bir Ubuntu 12.10 kurulumu yapıyorum.


Verdiğiniz komut harici monitörünüz için çalıştığında, Sistem Ayarları> Klavye> Kısayollar'da özel kısayol tuşları ayarlayabilirsiniz.
tongpu

Bu doğru, ama sonra sadece iki komut gönderebilirim (koyu / parlak) ve güzel parlaklık animasyonuyla Ubuntu iç parlaklık değiştiricisini görmezden gelirdim.
remi

Çıktısıyla bir bağlantı gönderebilir misiniz ddccontrol -p, bir çözüm düşünüyorum ...
Gerhard Burger

Umarım bu sizin için herhangi bir yardımdır
remi

Yanıtlar:


6

Harici monitörünüzü almak için istediğiniz çözümün /sys/class/backlightişe yarayacağını düşünmüyorum , ancak iyi haber, güzel parlaklık animasyonuna sahip olabilmeniz!

Deneyin

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

Şimdi Ubuntu'nun parlaklık değiştiricisini simüle eden bir komut dosyası yapabiliriz:

#!/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

Gördüğünüz gibi, 0 ile 100 arasındaki değerleri sıkıştırır. Artık , sistem ayarları> Klavye> Önerilen kısayollar gibi , tercih ettiğiniz bazı klavye kısayollarına komut dosyasını upve downçağrıları bağlayabilirsiniz .


Notlar:
Ne kadar zaman aldığını bilmiyorum ddccontrol -p, çok uzunsa syncbetiğe monitörün parlaklık değerini bir dosyaya kaydeden bir seçenek de ekleyebilirsiniz . Daha sonra mevcut parlaklığı almak yerine, ddccontroldosyanızı daha hızlı elde etmeniz yeterlidir. Tabii ki dosyaya yeni parlaklığı yazmak için upve downçağrılarını güncellemeniz gerekir ...


script archlinux bu yazı ilham .


çok iyi çalışıyor, çok teşekkür ederim. Tam olarak istediğim buydu. Artık tüm sistem bir iMac gibi iyi entegre edilmiş, ancak yine de yapılandırılabilir.
remi

Biraz yardıma ihtiyacım var, senaryoyu parlaklık anahtarlarıma bağlayan
remi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.