Bagaimana cara mengubah gamma / kecerahan Xorg?

15

Saya mencoba memainkan permainan (Deus Ex) yang harus saya modifikasi kecerahan karena sangat gelap dalam suasana saya. Gim ini memiliki pengaturan "Kecerahan", tetapi belakangan ini tidak berhasil. Saya mencoba mencari cara untuk mengubahnya dan mencari tahu yang xgammamelakukan efek yang sama dengannya xgamma -gamma 5. Tetapi setiap kali saya mengubahnya, pengaturan kembali setelah hampir satu detik (jadi ya, layar saya menyala lalu dimatikan). Bagaimana saya bisa, menjadikan xgammapengaturan permanen (atau persisten) atau saya harus menggunakan alat lain?

Sistem saya adalah desktop.

Tampaknya xrandr --output DVI-0 --brightness 2melakukan hal yang sama, tetapi masih kembali ke 0 setiap kali saya menerapkan pengaturan.

Setiap kali saya mencoba untuk mengubahnya, output berikut mengisi Xorg.0.logfile:

[ 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)

Jadi, ternyata monitor saya akan terdeteksi ulang setiap kali.

Braiam
sumber
Monitor Anda tidak memiliki kontrol perangkat keras untuk itu?
jordanm
@jordanm ya, semuanya sudah maksimal. Layar tidak terlalu terang untuk memulai.
Braiam

Jawaban:

23

Saya konyol! Saya memiliki xflux dengan fluxgui diaktifkan, setiap kali saya ingin memodifikasi pengaturan xflux akan menghalangi saya. Semua perintah berfungsi, hanya xflux yang akan mengembalikannya.

Mereka yang ingin mengubah gamma / kecerahan mereka:

Gunakan xrandruntuk daftar output Anda:

$ 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

Seperti yang Anda lihat, output saya adalah DVI-0untuk mengubah kecerahan:

xrandr --output DVI-0 --brightness 2

Untuk mengubah gamma:

xrandr --output DVI-0 --gamma 2:2:1
Braiam
sumber
3
Apakah ada gui interaktif untuk pengaturan xrandr ini? Saya tidak bisa melakukannya.
Fabio A.
@FabioA. Jika Anda belum menemukan GUI, Anda mungkin ingin memposting pertanyaan baru di situs ini atau Tanyakan situs Ubuntu.
WinEunuuchs2Unix
3

Saya berharap ada beberapa program interaktif untuk menyesuaikan xrandrpengaturan (khususnya gamma / kecerahan), tetapi tidak dapat menemukan apa pun.

Jadi saya menulis skrip shell ini yang memungkinkan beberapa penyesuaian interaktif kecerahan / gamma, serta menyimpan / mengembalikan pengaturan.

Simpan file ke irandr.sh, lakukan chmod u+x irandr.shuntuk membuatnya dapat dieksekusi, dan jalankan sebagai ./irandr.sh <outputname>.

Tombol d/ f/ D/ F/ j/ k/ J/ Kmenyesuaikan pengaturan kecerahan ( d/ f/ D/ F) atau gamma ( j/ k/ J/ K) dengan langkah-langkah 5 (huruf kecil) atau 1 (huruf besar.)

  • s menyimpan pengaturan ke dotfile
  • l memuat pengaturan dari dotfile
  • r ulang kecerahan / gamma ke default (1.0)
  • q seri.

Dotfile untuk output yang diberikan adalah ~/irandr-<outputname>.dat. Jika Anda menjalankan tanpa argumen, itu akan xrandrmenampilkan output yang valid .

Anda dapat menambahkan -setonlyargumen ke baris perintah, yang akan membaca pengaturan untuk dotfile tampilan yang diberikan, memperbarui tampilan, dan keluar. (Berguna, mungkin, dalam ~/.bashrcfile untuk secara otomatis mengatur gamma / kecerahan.)

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