Kontroluj jasność monitora zewnętrznego za pomocą oprogramowania


11

Witaj społeczność Ubuntu,

Mogę kontrolować jasność mojego DELL U2713HM połączonego z DisplayPort za pomocą polecenia:

ddccontrol -p -r 0x10 -w 53

gdzie w tym przykładzie liczba 53 reprezentuje poziom jasności (zakres od 0 do 100). Ale nie wiem, jak połączyć polecenie z klawiszami jasności na klawiaturze.

Już szukałem, ale znalazłem odpowiedzi na zintegrowane ekrany laptopów. W /sys/class/backlightjest folder acpi_video0z niektórymi podfolderami i plikami. Plik faktyczna_jasność zawiera liczbę od 0 do 20, która zmienia się po naciśnięciu klawiszy jasności.

Jak mogę wyświetlić mój monitor zewnętrzny jako urządzenie w / sys / class / backlight?

PS: Korzystam z nowej instalacji Ubuntu 12.10 ze zintegrowaną kartą graficzną Intel HD4000.


Gdy podane polecenie działa na monitorze zewnętrznym, możesz ustawić niestandardowe klawisze skrótów w Ustawieniach systemu> Klawiatura> Skróty.
— tongpu

To prawda, ale wtedy mogę po prostu wysłać dwa polecenia (ciemny / jasny) i zignorować wewnętrzny zmieniacz jasności Ubuntu z ładną animacją jasności.
— rem

Czy możesz zamieścić link z wyjściem ddccontrol -p, Myślę o rozwiązaniu ...
— Gerhard Burger

Mam nadzieję, że to ci pomoże: pastebin.com/L7Y7pRZe
— rem

Odpowiedzi:


6

Nie wydaje mi się, żeby twoje pożądane rozwiązanie wprowadzenia zewnętrznego monitora /sys/class/backlightdziałało, ale dobra wiadomość jest taka, że ​​możesz mieć ładną animację jasności!

Próbować

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

Teraz możemy stworzyć skrypt symulujący zmieniacz jasności Ubuntu:

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

Jak widać, zaciska wartości od 0 do 100. Teraz możesz powiązać wywołania upi downdo skryptu z wybranymi skrótami klawiaturowymi, wybierając Ustawienia systemowe> Klawiatura> Skróty , jak sugeruje to fotomonster.


Uwagi:
Nie wiem, ile czasu ddccontrol -pzajmuje, jeśli jest za długi, możesz również dodać syncopcję do skryptu, która zapisuje wartość jasności monitora w pliku. Następnie zamiast ddccontrolpobierać bieżącą jasność , możesz po prostu pobrać ją z pliku, co powinno być znacznie szybsze. Oczywiście musisz zaktualizować upi downwezwania, aby zapisać nową jasność do pliku ...


skrypt zainspirowany tym postem na archlinux .


działa bardzo dobrze, dziękuję bardzo. Właśnie tego chciałem. Teraz cały system jest dobrze zintegrowany, podobnie jak iMac, ale nadal można go konfigurować.
— rem

Jeszcze trzeba trochę pomóc, oprawa skrypt do moich kluczy Jasność: askubuntu.com/questions/239560/...
— remi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.