Wie ändere ich die Xorg Gamma / Helligkeit?

15

Ich versuche ein Spiel (Deus Ex) zu spielen, bei dem ich die Helligkeit ändern muss, da es in meiner Umgebung sehr dunkel ist. Das Spiel hat eine "Helligkeit" -Einstellung, aber in letzter Zeit funktioniert es nicht. Ich habe versucht herauszufinden, wie ich es ändern kann, und herauszufinden, dass xgammadies einen ähnlichen Effekt hat xgamma -gamma 5. Aber wenn ich es ändere, werden die Einstellungen nach fast einer Sekunde zurückgesetzt (also ja, mein Bildschirm leuchtet auf und schaltet sich dann aus). Wie kann ich die xgammaEinstellungen entweder permanent (oder persistent) machen oder muss ich ein anderes Tool verwenden?

Mein System ist ein Desktop.

Scheint dasselbe zu xrandr --output DVI-0 --brightness 2tun, kehrt aber trotzdem zu 0 zurück, wenn ich die Einstellungen übernehme.

Jedes Mal, wenn ich versuche , es zu ändern, fülle die folgende Ausgabe die Xorg.0.logDatei:

[ 14768.313] (II) RADEON(0): EDID vendor "HWP", prod id 9798
[ 14768.313] (II) RADEON(0): Using hsync ranges from config file
[ 14768.313] (II) RADEON(0): Using vrefresh ranges from config file
[ 14768.313] (II) RADEON(0): Printing DDC gathered Modelines:
[ 14768.313] (II) RADEON(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz eP)
[ 14768.313] (II) RADEON(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "640x480"x0.0   31.50  640 664 704 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "1024x768"x0.0   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "832x624"x0.0   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync (49.7 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[ 14768.313] (II) RADEON(0): Modeline "800x600"x0.0   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)

Anscheinend wird mein Monitor jedes Mal neu erkannt.

Braiam
quelle
Ihr Monitor hat dafür keine Hardware-Steuerung?
Jordanien
@jordanm ja, die sind ausgereizt. Der Bildschirm ist anfangs nicht sehr hell.
Braiam

Antworten:

23

Wie dumm von mir! Ich habe xflux mit aktiviertem Fluxgui, jedes Mal, wenn ich die Einstellungen ändern möchte, wird mir xflux im Weg stehen. Alle Befehle funktionierten, nur dass xflux es zurücksetzen würde.

Diejenigen, die ihre Gamma / Helligkeit ändern wollen:

Verwenden Sie, xrandrum Ihre Ausgaben aufzulisten:

$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
DVI-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm

Wie Sie sehen können, soll meine Ausgabe DVI-0die Helligkeit ändern:

xrandr --output DVI-0 --brightness 2

So ändern Sie das Gamma:

xrandr --output DVI-0 --gamma 2:2:1
Braiam
quelle
3
Gibt es eine interaktive Benutzeroberfläche für diese xrandr-Einstellungen? Ich kann es nicht gut machen.
Fabio A.
@ FabioA. Wenn Sie noch keine Benutzeroberfläche gefunden haben, möchten Sie möglicherweise eine neue Frage auf dieser Site oder auf der Ask Ubuntu-Site veröffentlichen.
WinEunuuchs2Unix
3

Ich hatte gehofft, es gäbe ein interaktives Programm zum Anpassen xrandrder Einstellungen (insbesondere Gamma / Helligkeit), konnte aber nichts finden.

Also habe ich dieses Shell-Skript geschrieben, das eine interaktive Anpassung von Helligkeit / Gamma sowie das Speichern / Wiederherstellen der Einstellungen ermöglicht.

Speichern Sie die Datei unter irandr.sh, führen Sie a aus chmod u+x irandr.sh, um sie ausführbar zu machen, und führen Sie sie unter aus ./irandr.sh <outputname>.

Die d/ f/ D/ F/ j/ k/ J/ KSchlüssel die Helligkeit ( d/ f/ D/ F) oder gamma ( j/ k/ J/ K) Einstellungen in Schritten von 5 (Kleinbuchstaben) oder 1 (Großbuchstaben) .

  • s speichert die Einstellungen im Dotfile
  • l Lädt die Einstellungen aus dem Dotfile
  • r Setzt Helligkeit / Gamma auf die Standardwerte zurück (1.0)
  • q quitt.

Die Punktdatei für eine bestimmte Ausgabe ist ~/irandr-<outputname>.dat. Wenn Sie ohne Argument ausführen, werden die gültigen xrandrAusgaben aufgelistet.

Sie können ein -setonlyArgument an die Befehlszeile anhängen , das die Einstellungen für die Punktdatei der angegebenen Anzeige liest, die Anzeige aktualisiert und beendet. (Nützlich, vielleicht in einer ~/.bashrcDatei, um Gamma / Helligkeit automatisch einzustellen.)

#!/bin/bash
# irandr.sh, by Dale Gass ([email protected])
# Wed Apr 10 16:43:22 EDT 2019

# Process arguments
if [ "$1" != "" ]
then
    output="$1"
else
    echo "Usage: irandr.sh <outputname> [-setonly]"
    echo "(Settings saved to ~/.xrandr-<outputname>.dat)"
    echo
    echo "Valid outputs:"
    xrandr | egrep -v '^( |Screen)'
    exit 1
fi
setonly=0
if [ "$2" = "-setonly" ]; then setonly=1; fi

# Initialize variables, read for dotfile if exists
cmdhelp="d/f/D/F=brightness j/k/J/K=gamma r=reset s=save l=load q=quit"
brightness=100
gamma=100
dotfile=~/.irandr-"$output".dat
if [ -s "$dotfile"  ]; then read brightness gamma <"$dotfile"; fi
if [ $setonly -eq 0 ]; then 
    echo $cmdhelp
    stty -echo raw intr $'\000' # Allow single character input
fi

# Main loop for setting adjustment
echo 'Bright Gamma'
while :
do
    b=$(bc <<< "scale=2; $brightness/100")  # Make 0.0-1.0
    g=$(bc <<< "scale=2; $gamma/100")
    xrandr --output "$output" --brightness "$b" --gamma "$g:$g:$g"
    printf "\r%4d %4d " $brightness $gamma
    if [ $setonly -eq 1 ]; then echo; exit 0; fi

    read -n1 ch     # Get input character from user
    case $ch in
    d) let brightness=brightness-5;; D) let brightness=brightness-1;;
    f) let brightness=brightness+5;; F) let brightness=brightness+1;;
    j) let gamma=gamma-5;;           J) let gamma=gamma-1;;
    k) let gamma=gamma+5;;           K) let gamma=gamma+1;;
    r) brightness=100; gamma=100;;
    s) echo "$brightness    $gamma" >"$dotfile" && echo -e "Saved\r";;
    l) read brightness gamma <"$dotfile"     && echo -e "Loaded\r";;
    q|$'\003') break;;
    *) echo -e "$cmdhelp\r";;
    esac
done

stty echo -raw intr $'\003' # Undo single character input
Tal
quelle