i3で画面の明るさを制御したいので、Fnキーが付属しているIntelラップトップ目的。これらのキーは、他のDEと一緒に機能します。
まず、利用可能なデバイスがIntelであることを確認します。
$ ls -l /sys/class/backlight/
total 0
lrwxrwxrwx 1 root root 0 juin 24 18:26 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight
別のフォーラム プログラムxbacklight
は、i3で輝度を制御する手段として提案されています。ただし、これまでに試したラップトップでは失敗します。
$ xbacklight -inc 10
No outputs have backlight property
i3で明るさを制御する他の方法はありますか?
画面の明るさを変更するには、xrandr
を使用できます。
これを行うには、次のようにします。
xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1
これにより、接続されているすべてのモニターが返されます(たとえば、LVDS-1
またはDVI-D-0
など)。
次に、画面の明るさを変更するには、次のコマンドを実行します(DVI-D-0
を前のコマンド出力で置き換えます)。
xrandr --output DVI-D-0 --brightness 0.7
たとえば、このコマンドは明るさを70%に設定します。
お役に立てれば幸いです。
brightnessctl
actualデバイスの明るさを設定するために使用できます。
私の古い回答から質問へのコピー: XF86MonBrightnessUp/XF86MonBrightnessDown特殊キーが機能しない
Edit:下記のように、これらが機能するためにはacpi
がマシンにインストールされている必要があります:)
これは古い質問ですが、答えは他の人を助けるかもしれません。ラップトップにi3wm
を新しくインストールしたときに、何らかの理由でXF86MonBrightnessUp/Down
キーが登録されていなかった(xev
で確認した)問題が発生しました。私がやったことは、押されたキーに対応するacpi
アクションとイベントを作成することです。
以下は、それぞれ/etc/acpi/actions
と/etc/acpi/events
で定義したアクション/イベントです。
/ etc/acpi/actions/bl-down.sh
#!/bin/sh
bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)-1)) | Sudo tee $bl_device
/ etc/acpi/actions/bl-up.sh
#!/bin/sh
bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)+1)) | Sudo tee $bl_device
/ etc/acpi/events/bl-down
event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/actions/bl-down.sh
/ etc/acpi/events/bl-up
event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/actions/bl-up.sh
ターミナルでacpi_listen
を使用し、関連するキーの組み合わせを押すことで、brightnessup/down acpiイベントコードを確認できます(たとえば、私にとっては、Fn +下矢印で明るさを下げます)。
最後に、acpid
をSudo /etc/init.d/acpid reload
で再起動することを忘れないでください
注:バックライトデバイスが/sys/class/backlight/acpi_video0
とは別の場所で定義されている可能性があります-これはたまたま私の場所です。いじってみてください。
2 xbacklight
があります。 Archlinux(ディストリビューションでも同じかもしれません)では、1つはパッケージxorg-xbacklight
が https://xorg.freedesktop.org/ からソースされ、もう1つはacpilight
ソース https://gitlab.com/wavexx/acpilight から取得。一方が機能しない場合、おそらくもう一方が機能します。
xorg-xbacklight
の説明:
RandRベースのバックライト制御アプリケーション
そしてacpilight
リンクから:
一部の最新のラップトップでは、「XRandR」にディスプレイの明るさを設定する機能がない場合があります。この機能は、/ sys/class/backlight /を介してカーネルのACPIインターフェースに移動/統合されました。 「acpilight」は、「XRandR」の代わりにACPIインターフェースを使用するxbacklightコマンドのドロップイン置換を提供します
だから、あなたのxbacklight
が動かない理由かもしれません。
以下は、xrandr
に基づくbashスクリプトソリューションです。まず、echo 1.o > brightness.txt
を使用して現在の輝度値を保存するファイルを作成します。これで、次のbashスクリプトを使用できます。
#!/bin/bash
BRIGHT=`cat brightness.txt`
if [ "$1" = '+' ]; then
NEWBRIGHT=$(echo "$BRIGHT + 0.05" | bc)
if [ "$(echo "$NEWBRIGHT > 1.0" | bc)" -eq 1 ]; then
NEWBRIGHT='1.0'
fi
Elif [ "$1" = '-' ]; then
NEWBRIGHT=$(echo "$BRIGHT - 0.05" | bc)
if [ "$(echo "$NEWBRIGHT < 0.0" | bc)" -eq 1 ]; then
NEWBRIGHT='0.0'
fi
fi
上記のスクリプトがbrightness.sh
であるとすると、次のように使用できます。
.\brightness.sh + #to increase brightness
.\brightness.sh - #to decrease brightness
また、i3
を使用するため、これらのコマンドにキーをバインドできます。たとえば、次の行をi3-config
に追加できます。
# change brightness of screen
mode "controls" {
# These bindings trigger as soon as you enter the control mode
bindsym j exec "~/Scripts/brightness.sh -"
bindsym k exec "~/Scripts/brightness.sh +"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym space mode "default"
}
bindsym $mod+shift+semicolon mode "controls"
さらにこれらの行をi3-config
に追加して、最後に使用した明るさの値から開始します。
exec "~/Scripts/brightness.sh -"
exec "~/Scripts/brightness.sh +"