web-dev-qa-db-ja.com

Arch(xbacklight):バックライト特性を持つ出力はありません

/ sys/class/backlightに2つのフォルダーがあります。

1> acpi_video0 2> intel_backlight

次のコマンドを使用してacpi_video0の明るさを調整できるため、intel_backlightは役に立ちません(Nvidiaドライバーを実行しています)。

例:echo 50>/sys/class/backlight/acpi_video0/brightness

問題: xbacklight -inc +5出力の使用:「バックライトプロパティを持つ出力はありません」ので、acpi_video0を使用するように取得する必要があります

これまでのところ、私はintel_backlightフォルダーを完全にrmしようとしましたが、運がありませんでした(Sudoを使用し、アクセス許可を777に再帰的に変更しました)。

Xbacklightをホットキーして、明るさを増減できるようにしたいだけです。エコーを使用してacpi_video0の明るさをハード値に設定できますが、段階的に調整する方法がわかりません。

さらにアドバイスしてください!

よろしく:)

編集1 :(可能な代替)将来この問題が発生する場合は、xcalibをインストールしてください。 (セットアップ:i3ウィンドウマネージャー付きのArch Linux)

yaourt -S xcalib

そして、設定ファイル内の次のホットキー割り当て(私の場合はi3):

# Brightness control reset screen (100% brightness)
bindsym Mod1+Up exec xcalib -c
# Brightness control down
bindsym Mod1+Down exec xcalib -co 95 -a
13
catharchy

EDIT:同じ出力エラーがあったため、この質問を見つけました。バックライトプロパティを持つ出力はありません。 light-gitこれ以上いじくり回すことなくこれを解決しました。

xcalib(バックライトを調整しない;バッテリー電力を節約しない)のより良い代替案light-gitAURから。

使用法

  • light -U 20バックライトを20%減らす
  • light -A 20 20%増加
  • light -S 50バックライトを50%に設定

ここにあります wiki.archlinux.org/index.php/backlight (@icbytesに感謝)。

19
jrdccx

Xbacklightを次のスクリプトに置き換えました:

#!/bin/bash
set -e
file="/sys/class/backlight/intel_backlight/brightness"
current=$(cat "$file")
new="$current"
if [ "$1" = "-inc" ]
then
    new=$(( current + $2 ))
fi
if [ "$1" = "-dec" ]
then
    new=$(( current - $2 ))
fi
echo "$new" | tee "$file"

次を使用して見つけることができるファイルでファイルを置き換える必要があります。

Sudo find /sys/ -type f -iname 'brightness'

そして、このファイルが書き込み可能であることを確認する必要があります:例:

Sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness

7
edi9999

Archの新規インストールで同様の問題を解決するために、 acpilight も利用可能 AUR を使用することにしました。 「xbacklightの後方互換性のある代替品」として宣伝されており、X11自体には依存せず、そのような必要が生じた場合でも、Waylandや仮想コンソールで問題なく動作します。

インストール後、通常のユーザーを「ビデオ」グループに追加する必要があります 非常に保守的なudevルールのドロップインファイルを作成する必要があります。

**/etc/udev/rules.d/90-backlight.rules**

SUBSYSTEM=="backlight", ACTION=="add", \
  RUN+="/bin/chgrp video %S%p/brightness", \
  RUN+="/bin/chmod g+w %S%p/brightness"

一部のラップトップでは、キーボードのバックライト制御もサポートされています。詳細については、プロジェクトを参照してください github 上にリンクされているgitlabページ。

これが、セットアップと使用に非常に便利なacpilightを見つけるのに役立つことを願っています。

注:Python(3)に依存するソリューション。

注2:acpilightの中心には、簡単に抽出できる単純なpythonスクリプト以上のものはありません。

2
muthuh

私はopenSUSEを使用していますが、xf86-video-intelパッケージをインストールすると、xbacklightが(再び)機能するようになりました。これには、Intelグラフィックカード用のxorg-x11ドライバーや、コマンドラインユーティリティなどの他のものが含まれていました。インストール後、xbacklightでバックライトを制御することが可能でした。

それ以前は、/ sys/class/backlight/intel_backlight/brightnessを介してroot権限でのみバックライトを制御するという選択肢しかありませんでした。

1
phils3r

Xbacklightを使用しているときにNo outputs have backlight propertyの問題にも直面しましたが、少なくともMacBook Pro13,1のFedora28で、簡単な修正に遭遇しました。

他のソリューションは機能するように見えますが、何もインストールしたり、スクリプトを使用したりする必要はありませんでした。 Arch Wikiを使用して私を支援したことを考えると、これが他のディストリビューションにも当てはまることを願っています。

https://wiki.archlinux.org/index.php/Backlight#ACPIls /sys/class/backlight/について話しますが、私の場合はacpi_video0@intel_backlight@を示しています。

それで、intel_backlightを試したので、cat /sys/class/backlight/intel_backlight/brightnessを使用して、現在の値(39)を確認しました。

echo 50|Sudo tee /sys/class/backlight/intel_backlight/brightness(ティーの詳細についてはinfo teeと入力)を使用すると、バックライトが明るくなります-進歩です!

興味深いことに、これを実行した後xbacklight -inc 10コマンドとxbacklight -dec 10コマンドは、他に何もしなくても魔法のように機能し始めたので、バインドできるようになりましたxbacklightへのキーボードの明るさキー-これ以上のSudoコマンドやルールは必要ありません。

0
Raymond Wu Won

私はついにこれを修正しましたが、元の投稿者がリストしたオンラインソリューションはどれも私にとってはうまくいきませんでした。問題を解決したのは、/ etc/default/grubに移動し、次の行に移動することでした:GRUB_CMDLINE_LINUX_DEFAULT

追加:

"acpi_osi ="

ただし、「nomodeset」は使用しないでください。 Pplは元々ソフトウェアレンダリングの問題を修正するためにnomodesetを追加しましたが、これにより実際にはLinuxがNvidiaドライバーを認識しなくなります。

最後に、Linuxのスタートメニュードライバーマネージャーに移動し、Nvidiaドライバーを430以降に更新してください。

0
Stigma

@ edi9999の優れたソリューションに追加するために、これはパーセンテージで機能し、制限を設定できます

#!/bin/bash
MAX=661
MIN=10
set -e
file="/sys/class/backlight/intel_backlight/brightness"
current=$(cat "$file")
new="$current"
if [ "$2" != "" ]; then
    val=$(echo "$2*$MAX/100" | bc)
fi
if [ "$1" = "-inc" ]; then
    new=$(( current + $val ))
Elif [ "$1" = "-dec" ]; then
    new=$(( current - $val ))
fi
if [ $new -gt $MAX ]; then
    new=$MAX
Elif [ $new -lt $MIN ]; then
    new=$MIN
fi
printf "%.0f%%\n" $(echo "$new/$MAX*100" | bc -l)
echo $new > "$file"
0
Naheel