web-dev-qa-db-ja.com

デフォルトのディスプレイ輝度を設定するにはどうすればよいですか?

デフォルトのディスプレイの明るさを設定して、再起動するたびに再調整する必要はありませんか?毎回100%の明るさで起動するため、私のラップトップディスプレイはログイン画面ですでに目をつぶっています。

35
Jeremy

ソリューションのレビューと(できれば)より良いソリューションの提供

以前のソリューション

/sys/- based:コンソールに適しています

@gan

これはecho 5 > /sys/class/backlight/acpi_video0/brightnessで動作しますが、Xでうまく動作しません。具体的には、Xは好みの設定を認識していないため、 bug# 1042359

setpci- based:システム依存、危険

しょーた

setpci -s 01:00.0 F4.B=50のようなものに基づくソリューションは危険です。そこで、01:00.0は実際にはPCIバス上の特定のボードをターゲットとするIDです。そして、それはシステムに依存しています。つまり、これを盲目的にたどると、他のボードに構成レジスタが書き込まれる可能性があり、意味がなくなる場合があります。とにかく、Xでもうまく動作しません。


提案されたソリューション

利点/欠点

以下のソリューションには次の利点があります。

  • 選択された設定を完全に認識するXでニースを再生します
  • より読みやすく、したがって保守可能
  • システム固有のアドレスなどが含まれていないため、その結果、より広範なハードウェアで動作する場合があります(たとえば、カーネルがバックライトを認識しない場合、またはPCIベースのビデオボードを使用しない場合、 buntu用ARM

Lightdmを使用したUbuntu(11.10以降)

Lightdmの起動時にのみバックライトを設定します。ただし、バックライトをより早く設定する必要がある場合は、上記の/sysベースのソリューションと組み合わせることができます。

ソリューション

これらのコマンドをコピーして貼り付けると、必要な処理が実行されます(Sudoはおそらくパスワードを要求します)。

  1. xbacklightがまだインストールされていない場合はインストールします(小さなパッケージです)。

    Sudo apt-get install xbacklight
    

    コマンドラインでxbacklightをテストして、機能するかどうかを確認する必要があります。例えば:

    xbacklight = 100 ; sleep 2 ; xbacklight = 30
    

    ハードウェアと照明条件に適した値を見つけてください。

  2. xbacklightを実行する小さなスクリプトを作成します。
    必要に応じて、=30を別の値に変更できます。
    || trueは、xbacklightが何らかの理由で失敗した場合でもXが起動できることを保証します。

    Sudo bash -c '{
        echo "#!/bin/bash"
        echo "xbacklight =30 || true"
    } >> /etc/lightdm/display-setup-script.sh '
    
  3. スクリプトを実行可能にする

    Sudo chmod a+rx /etc/lightdm/display-setup-script.sh
    
  4. Xの起動時にスクリプトを実行するようlightdmに指示します。
    具体的には、lightdm構成ファイルにdisplay-setup-script行が追加されますが、まだ存在しない場合のみです。

    if grep -ri ^display-setup-script /etc/lightdm/
    then 
      echo "There may be already a display-setup-script. It may already do what you need. Else please adjust manually" ; 
    else 
      if [[ -d /etc/lightdm/lightdm.conf.d ]]
      then
        # Ubuntu 13.10 and above have lightdm.conf.d. 14.04 *only* has lightdm.conf.d.
        DEST_CONF_FILE=/etc/lightdm/lightdm.conf.d/20-default-brightness.conf
      else
        # Ubuntu 12.04, 12.10, 14.10 do not have lightdm.conf.d, so we change main configuration file
        DEST_CONF_FILE=/etc/lightdm/lightdm.conf
      fi
      echo "Writing into $DEST_CONF_FILE"
      Sudo bash -c "{ 
          echo '[SeatDefaults]' ; 
          echo display-setup-script=/etc/lightdm/display-setup-script.sh ; 
      } >> $DEST_CONF_FILE" ; 
    fi
    

コンソールのルートセッションからlightdmを再起動してテストできます。または、より簡単に、再起動することにより。

Ubuntu 12.04、12.10、13.10、14.04、14.10、16.04でテスト済み。

あなたの経験についてのフィードバックを提供してください。

26

ソース

実際に値をエコーすることは、値がシステムごとに異なるため、明るさの助けにはなりません。

まず、画面の明るさを快適なレベルに設定する必要があります。これは、システム設定輝度とロックまたはファンクションキーを使用して。

/sys/class/backlight/<folder>に移動します(私のフォルダーはintel_backlightです)

screen shot of the folder

このフォルダーには、actual_brightnessファイルとmax_brightnessファイルがあります。 (このファイルを開いた後に明るさを変更した場合は、(Ctrl + RまたはF5を使用して)更新して忘れずに実際の現在の設定を確認してください。)

システムを起動するたびに、輝度と同じ値が必要になります。これは、起動時にこのフォルダーの値を毎回変更することで実行できます。 rc.localファイルを変更する必要があります。

まず、ターミナルで次のコマンドを入力します(ダッシュでターミナルを検索するか、Ctrl + Alt + Tを押すと開きます)。

Sudo -i
gedit /etc/rc.local

そして、行を追加します

echo 900 > /sys/class/backlight/intel_backlight/brightness

900を必要な値(つまり、上記の手順で取得した値)に置き換えます。また、intel_backlight/sys/class/backlight/のフォルダー名に置き換えます。

たとえば、私の/etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
rfkill block bluetooth
echo 900 > /sys/class/backlight/intel_backlight/brightness

exit 0

余談ですが、Bluetoothをまったく使用しないのでrc.localファイルにrfkill block bluetoothという行を追加しましたが、Ubuntuは再起動するたびにBluetoothを起動します(以前はBluetoothがオフだったとしても)。追加することもできます。Bluetoothを使用する場合は、この行がrc.localにある場合でも、いつでも再起動できます。

末尾のexit 0の値を変更しないでください。その行が存在しない場合は追加します。

これで、システムを再起動した場合でも、必要な値が同じになります。

max_brightnessよりも大きな輝度値を設定しないように注意してください。無効な引数であることを示すエラーがスローされます。

7
Tummala Dhanvi

デフォルトではありません。再起動するたびに、明るさが100%に設定されます。次に、コマンドで明るさを設定します:

$ echo 5 | Sudo tee /sys/class/backlight/acpi_video0/brightness
3
Gan

希望の明るさを設定したら、N0rbertの答えをここでフォローできます。 明るさは再起動ごとに最大にリセットされます 。要約すれば:

Sudo add-apt-repository ppa:nrbrtx/sysvinit-backlight
Sudo apt-get update
Sudo apt-get install sysvinit-backlight

Sudo service sysvinit-backlight status # Show current brightness levels and values saved in files
Sudo service sysvinit-backlight start # Set saved levels from files
Sudo service sysvinit-backlight stop # Save current levels to files
1
nyxee

赤方偏移を見たことがありますか?別の目的のために設計されています(夜間の画面の青みを抑えます)が、問題も解決する可能性があります。

インストールする:

Sudo apt-get install redshift

私の設定ファイル(~/.config/redshift.conf):

[redshift]
;temp-day=5700
;temp-night=4600
brightness-day=1.0
brightness-night=0.75
gamma=0.8
adjustment-method=vidmode
location-provider=manual

[manual]
lat=63.81415
lon=20.41742

明るさの日と明るさの夜を好きな値に変更し、一時日と一時の夜を同じ値に設定すると、実質的に赤方偏移を使用して明るさだけを設定します。

ログイン時にredshiftを自動起動するには、アプリケーション/システムツール/設定/スタートアップアプリケーション/追加を選択します。名前:赤方偏移。コマンド:/ usr/bin/redshift。

1
Niclas Börlin