Xorg gama / parlaklığı nasıl değiştirilir?


15

Ortamımda çok karanlık olduğu için parlaklığı değiştirmem gereken bir oyun (Deus Ex) oynamaya çalışıyorum. Oyunun bir "Parlaklık" ayarı var, ancak son zamanlarda çalışmıyor. Nasıl değiştirileceğini anlamaya çalıştım ve bununla xgammabenzer bir etki yarattığını anladım xgamma -gamma 5. Ancak ne zaman değiştirirsem, ayarlar neredeyse bir saniye sonra geri döner (bu yüzden evet, ekranım yanar ve sonra kapanır). Nasıl Ben de yapabilir xgammaayarlar kalıcı (veya devamlı) ya da ben başka bir araç kullanmak zorunda?

Sistemim bir masaüstü.

Görünüşe göre xrandr --output DVI-0 --brightness 2aynısını yapın, ancak ayarları her uyguladığımda yine 0'a geri döner.

Her değiştirmeye çalıştığımda aşağıdaki çıktıyı doldur Xorg.0.log:

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

Görünüşe göre monitörüm her seferinde yeniden algılanıyor.


Monitörünüzde bunun için donanım denetimleri yok mu?
jordanm

@jordanm evet, bunlar azami. Ekranla başlamak çok parlak değil.
Braiam

Yanıtlar:


23

Aptal bana! Fluxgui etkinken xflux var, her seferinde ayarları değiştirmek istiyorum xflux benim yolumda olacak. Tüm komutlar işe yaradı, sadece xflux onu geri alacaktı.

Gama / parlaklıklarını değiştirmek isteyenler:

xrandrÇıktılarınızı listelemek için kullanın :

$ 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

Gördüğünüz gibi çıktı DVI-0parlaklığı değiştirmek:

xrandr --output DVI-0 --brightness 2

Gama değiştirmek için:

xrandr --output DVI-0 --gamma 2:2:1

3
Bu xrandr ayarları için etkileşimli bir GUI var mı? Ben iyiyim.
Fabio A.

@FabioA. Henüz bir GUI bulamadıysanız, bu sitede yeni bir soru göndermek veya Ubuntu'ya sorun.
WinEunuuchs2Unix

3

xrandrAyarlarını (özellikle gama / parlaklık) ayarlamak için etkileşimli bir program olmasını umuyordum , ancak hiçbir şey bulamadım.

Bu yüzden, parlaklık / gama'nın etkileşimli olarak ayarlanmasına izin veren ve ayarları kaydedip geri yükleyen bu kabuk komut dosyasını yazdım.

Dosyayı konumuna kaydedin, yürütülebilir dosyayı yapmak için irandr.sha chmod u+x irandr.shyapın ve olarak çalıştırın ./irandr.sh <outputname>.

d/ f/ D/ F/ j/ k/ J/ KTuşları parlaklık ayarı ( d/ f/ D/ F) ya da gama ( j/ k/ J/ K) 5 (alt durum) ya da 1 adımlarla ayarları (büyük harf).

  • s ayarları nokta dosyasına kaydeder
  • l ayarları dotfile'dan yükler
  • r parlaklık / gama değerini varsayılanlara sıfırlar (1.0)
  • q sonlandırılıyor.

Belirli bir çıktı için nokta dosyası ~/irandr-<outputname>.dat. Bağımsız değişken olmadan çalıştırırsanız, geçerli xrandrçıktılar listelenir .

-setonlyKomut satırına, verilen ekranın dotfile ayarlarını okuyacak, ekranı güncelleyecek ve çıkacak bir bağımsız değişken ekleyebilirsiniz . (Bir ~/.bashrcdosyada otomatik olarak bir gama / parlaklık ayarlamak için kullanışlıdır.)

#!/bin/bash
# irandr.sh, by Dale Gass (dale@gass.ca)
# 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
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.