私の環境では非常に暗いので、明るさを変更する必要があるゲーム(Deus Ex)をプレイしようとしています。ゲームには「明るさ」設定がありますが、最近は機能しません。私はそれを変更する方法を見つけ出して、xgamma
がxgamma -gamma 5
。しかし、変更すると、ほぼ1秒後に設定が元に戻ります(つまり、画面が明るくなってからシャットダウンします)。 xgamma
設定を永続的(または永続的)にするにはどうすればよいですか、または別のツールを使用する必要がありますか?
私のシステムはデスクトップです。
どうやらxrandr --output DVI-0 --brightness 2
同じことを行いますが、設定を適用するたびに0に戻ります。
I tryを変更するたびに、次の出力が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)
だから、どうやら私のモニターは毎回再検出されます。
愚かな私!私は、fluxguiをアクティブにして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
設定をdotfileに保存しますl
は、dotfileから設定をロードしますr
は、輝度/ガンマをデフォルト(1.0)にリセットしますq
は終了します。特定の出力のドットファイルは~/irandr-<outputname>.dat
です。引数なしで実行すると、有効なxrandr
出力がリストされます。
コマンドラインに-setonly
引数を追加すると、指定されたディスプレイのdotfileの設定を読み取り、ディスプレイを更新して終了します。 (おそらく~/.bashrc
ファイルで、ガンマ/明るさを自動的に設定するのに便利です。)
#!/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