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.