Xorg 감마 / 밝기를 변경하는 방법? 605 628 +hsync +vsync

분위기가 너무 어둡기 때문에 밝기를 수정 해야하는 게임 (Deus Ex)을하려고합니다. 게임에 “밝기”설정이 있지만 최근에는 작동하지 않습니다. 나는 그것을 바꾸는 방법을 알아 내려고 그 xgamma와 비슷한 효과를 내는 것을 알았 습니다 xgamma -gamma 5. 그러나 변경 할 때마다 설정이 거의 1 초 후에 다시 돌아갑니다 (그래서 화면이 켜졌다가 꺼집니다). 어떻게 하나의 수 xgamma설정이 영구적 (또는 영구적) 또는 I는 다른 도구를 사용할 필요가?

내 시스템은 데스크탑입니다.

똑같은 xrandr --output DVI-0 --brightness 2작업을 수행하지만 설정을 적용 할 때마다 여전히 0으로 되돌아갑니다.

때마다 내가 하려고 다음과 같은 출력이 입력을 변경하려면 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)

따라서 매번 모니터가 다시 감지됩니다.



답변

바보 나! xflux가 활성화 된 상태에서 xflux를 사용하여 xflux가 설정을 수정할 때마다 xflux가 활성화됩니다. 모든 명령이 작동했지만 xflux는 되돌릴 수 있습니다.

감마 / 밝기를 변경하려는 사람들 :

xrandr출력을 나열하는 데 사용하십시오 .

$ 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

보시다시피 내 출력은 DVI-0밝기를 변경하는 것입니다.

xrandr --output DVI-0 --brightness 2

감마를 변경하려면

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


답변

xrandr의 설정 (특히 감마 / 밝기) 을 조정하기위한 대화 형 프로그램이 있기를 바랐 지만 아무것도 찾을 수 없었습니다.

그래서이 쉘 스크립트를 작성하여 설정을 저장 / 복원 할뿐만 아니라 밝기 / 감마를 대화식으로 조정할 수 있습니다.

에 파일을 저장 irandr.sh하는 할 chmod u+x irandr.sh그것을 실행, 그리고으로 실행하기 위해 ./irandr.sh <outputname>.

d/ f/ D/ F/ j/ k/ J/ K키 밝기를 조정 ( d/ f/ D/ F) 또는 감마 ( j/ k/ J/ K) 5 (낮은 경우), 또는 (1)의 공정에 의해 설정 (상부 케이스).

  • s 설정을 도트 파일에 저장합니다
  • l 도트 파일에서 설정을로드합니다
  • r 밝기 / 감마를 기본값 (1.0)으로 재설정
  • q 피장 ​​장이 된.

주어진 출력의 도트 파일은 ~/irandr-<outputname>.dat입니다. 인수없이 실행하면 유효한 xrandr출력 이 나열됩니다 .

-setonly명령 행에 인수를 추가 하면 주어진 디스플레이의 도트 파일에 대한 설정을 읽고 디스플레이를 업데이트 한 후 종료됩니다. ( ~/.bashrc파일에서 감마 / 밝기를 자동으로 설정하는 데 유용 할 수 있습니다.)

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


답변