web-dev-qa-db-ja.com

Archで実行されているThinkPadT440の起動時にバックライトの明るさを設定する

最近、新しいLenovo ThinkPad T440sラップトップを購入し、それにArchLinuxをインストールしました。ほとんどのものは箱から出してうまくいきました。いくつかの小さな問題の1つは、バックライトの明るさです。

Fn + F5とFn + F6で明るさを調整できますが、再起動すると明るさが100%に戻ります。しばらくすると目が焼け始めますので、手動で50%〜60%程度に減らします。 Fnキー機能を維持しながら、これを何らかの方法で自動化できますか? ArchWikiのwikiアーティセルは、systemd、udev、またはacpidのいずれかを使用することについて説明していますが、長所、短所、さらにはその方法についてはもう具体的に説明していません。どちらの方法がいいですか?

Edit1 06.09.14:私はGNOME3をDEとして使用しています

挨拶のパラドックス

1
paradoxon

Xrandrを使用でき、複数のモニターが接続されている場合でもうまく機能します。使用しているデスクトップ環境がわからないため、具体的に説明することはできません。起動後に使用できるスクリプトは次のとおりです。

#!/bin/bash

YOUR_BRIGHTNESS_PREFERENCE=0.6
for DISP in `xrandr -q | grep " connected" | cut -d ' ' -f1`; do
  xrandr --output "$DISP" --brightness "$YOUR_BRIGHTNESS_PREFERENCE"
done

接続されているすべてのモニターのバックライトの明るさを60%に変更します。

1
ioku

私は回避策を見つけました...それはハックアラウンドのようなものです:P

起動時に明るさのレベルを設定するスクリプトを起動するsystemdサービスを作成しました。技術的には、サービスsystemd-backlight @ backlight:intel_backlightが、シャットダウン/起動時のバックライトレベルの保存と設定を処理する必要がありますが、これは現時点では壊れているようです。最近のいくつかのarchlinuxフォーラムの投稿によると、これを処理するカーネルコードでかなりのハッキングが行われています。

これが私が作成した2つのファイルです

/ usr/lib/systemd/scripts/set_brithness(chmod 750でこの実行可能ファイルを作成することを忘れないでください

#!/bin/bash

echo "250" > /sys/class/backlight/intel_backlight/brightness

そして

/ usr/lib/systemd/system/set_brithness

[Unit]
Description= Set brightness to a reasonable level on start-up, since systemd backlight@backlicht:intel_backlight is broken for the moment.

[Service]
Type=oneshot
ExecStart=/usr/lib/systemd/scripts/set_brightness

[Install]
WantedBy=multi-user.target

簡単な再起動でテストしましたが、休止状態/一時停止時にどのように動作するかわかりません。また、これはちょっとした不具合として、GonmeSettingsはこの変更を追跡しません。モニター構成を開くと、明るさが最後に認識された値に設定されます。 Functionkeysでも同じです。しかし、私は今のところこれと一緒に暮らすことができます。また、これを使ってArch Forumsにアクセスし、これをさらに調査してバグを報告します。

0
paradoxon