Jak zmienić jasność, kolor i ostrość z wiersza poleceń?

32

Kontroluję komputer za pomocą SSH i skryptów. Jak mogę zmienić jasność, kolor i ostrość z wiersza poleceń?

Spróbuj 1: nie powiodło się

$ sudo redshift -t 5000:5000 -g .5
Cannot list GNOME panel applets.
Initialization of gnome-clock failed.
Trying next provider...
Latitude and longitude must be set.

Spróbuj 2: nie powiodło się

$ cat brightness 
20
$ cat max_brightness 
20
$ echo 1 | sudo tee /sys/class/backlight/acpi_video0/brightness 
1
$ echo 20 | sudo tee /sys/class/backlight/acpi_video0/brightness 

Jakiś alternatywny sposób to zrobić?

Kontynuacja : http://jonls.dk/redshift/

[command]     [1000K to 10000K]       [effects 0.1 to 10.0]
|       |     /      /                /
^       ^     ^      ^                ^
redshift  -t  1000:1000   -l 0:0  -g .1; Dark
redshift  -t  1000:1000   -l 0.0  -g  5; Bright
muru
źródło
Zobacz askubuntu.com/questions/57236/ ... jak zmienić jasność
Lekensteyn,
@Lekensteyn: zobacz opublikowany komentarz. Nie działało, używam 11.04 i próbowałem echo od 0 do 20 pozostaje takie samo.
Zauważ, że zastosowanie korekcji gamma ( -gargument do przesunięcia ku czerwieni) nie jest tym samym efektem, co dostosowanie jasności ( -b)
Dzamo Norton

Odpowiedzi:

43

Jeśli obsługuje go sterownik karty graficznej, możesz użyć xrandr.

Następujące polecenie wyświetla aktualną konfigurację:

xrandr --current --verbose

Jeśli chcesz zmienić konfigurację wyjścia, potrzebujesz nazwy wyjścia. Ta nazwa jest xrandr --currentna przykład częścią danych wyjściowych LVDS1.

Jasność można zmienić w następujący sposób:

xrandr --output <outputname> --brightness 0.8

Gamma:

xrandr --output <outputname> --gamma 0.5:1.0:1.0
Nimmermehr
źródło
1
to działa, FYI: nowsze laptopy używają eDP
nwgat
Stwierdziłem, że nie muszę korzystać z tej verboseopcji.
David Oliver,
2
Przydatny byłby przykład wyjścia dla „xrandr --output <nazwa wyjściowa> - jasność 0,8”
wodorotlenek
17

xrandr nie zwiększy jasności ekranu na poziomie sprzętowym (zmienianym za pomocą klawiszy jasności wyświetlacza laptopa). Jak mówi instrukcja xrandr:

- jasność jasności

Pomnóż wartości gamma na crtc aktualnie dołączonym do wyjścia do określonej wartości zmiennoprzecinkowej. Przydatny w przypadku zbyt jasnych lub zbyt słabych wydruków. Jednak jest to modyfikacja tylko programowa, jeśli twój sprzęt ma obsługę faktycznej zmiany jasności, prawdopodobnie wolisz używać xbacklight.

Zamiast tego użyj, xbacklightaby zmienić jasność:

xbacklight -get #get the current level
xbacklight -set *percent* #set brightness to a given percentage
xbacklight -inc *percent* #increase by a given percentage
xbacklight -dec *percent* #decrease by a given percentage

Ponieważ jednak jest to takie samo, jak używanie klawiszy jasności laptopa, nie może to przekroczyć granic 0-100%. Jeśli chcesz rozjaśnić / przyciemnić ekran dalej niż ten limit, możesz użyć xrandr, aby wymusić poziomy jasności oprogramowania:

xrandr --output LVDS1 --brightness 0.5

Zauważ, że xrandrakceptuje ułamki (0,0-1,0), a xbacklightakceptuje wartości procentowe (0-100)

Nemo
źródło
3
W moim przypadku xrandr --output eDP1 --brightness 0.2podejście działa dobrze, a xbacklight -set 20kończy się niepowodzeniem.
landroni
1
przyjmuje frakcje (0,0-1,0) wprowadza w błąd. W przypadku mojego zewnętrznego złącza DisplayPort na HDMI TB3 działało to dobrze:xrandr --output DP-1-1 --brightness 1.2
WinEunuuchs2Unix
@ WinEunuuchs2Unix Tak, ustawienie> 1.0 przycina gamę wyświetlania w zamian za ogólny wzrost jasności. Innymi słowy, tracisz szczegóły w jasnych obszarach.
Wil
Czy ma to związek z temperaturą monitora? Mam na myśli, że przy xrandrciemniejszym powinno być zimniej niż przy użyciu innego narzędzia? Obawiam się, że mój monitor jest zbyt ciepły.
Sigur
7

W przypadku laptopów właśnie nauczyłem się od man xrandr:

   --brightness brightness
          Multiply  the gamma values on the crtc currently attached to the
          output to specified floating value. Useful for overly bright  or
          overly  dim outputs.  However, this is a software only modifica‐
          tion, if your  hardware  has  support  to  actually  change  the
          brightness, you will probably prefer to use xbacklight.

Więc próbowałem

xbacklight -get
xbacklight -set 70

i to działa!

użytkownik334639
źródło
5

Jeśli używasz funkcji przesunięcia ku czerwieni, musisz podać jej szerokość i długość geograficzną, aby wiedział, kiedy zmienia się pora dnia. Coś jak

redshift -t 5000:5000 -l 55.7:12.6 -g .5 

Chociaż może to być nieco niekonwencjonalne użycie redshift :)

Działa również bez sudo.

Siergiej
źródło
+1, które naprawdę zrobiło małą sztuczkę. Ale tak naprawdę szukam w ten sam sposób większej jasności RAW + strojenia koloru + gamma.
3

Używam tego skryptu, aby ustawić jasność na wszystkich moich wyświetlaczach jednocześnie:

#!/bin/bash
if [ -z $1 ]; then
    echo "Usage: brighntess BRIGHTNESS"
    echo "BRIGHTNESS is a float (0.0-1.0)"
else
    xrandr --listmonitors | grep "^ " | cut -f 6 -d' ' | \
    xargs --replace=MONITOR xrandr --output MONITOR --brightness $1
fi
PET3R
źródło
2

Zmień VGA-1 za pomocą swojego urządzenia

xrandr --listmonitors
Monitors: 1

0: + * VGA-1 1366 / 410x768 / 230 + 0 + 0 VGA-1

xrandr --output VGA-1  --brightness 1   (for 100% brightness)
xrandr --output VGA-1  --brightness 1.5 (for 150% brightness)
xrandr --output VGA-1  --brightness 2   (for 200% or double brightness)
xrandr --output VGA-1  --brightness 4 (for 400% brightness)

Ostrożnie z 0 (musisz ponownie uruchomić Xorg):

xrandr --output VGA-1  --brightness 0 (for Blank Screen)

xrandr --output VGA-1  --brightness 0.8 (for 80% brightness)

Działa to na normalnych monitorach LCD / LED, ponieważ nie obsługują jasności sprzętowej jak laptopy.

fastrizwaan
źródło
0

Istnieje również DDC / CI i klient linux: ddccontrol (i gddccontrol dla GUI).

Tt w oficjalnym repozytorium Ubuntu:

sudo apt install ddccontrol ddccontrol-db gddccontrol
kravemir
źródło