Windows 10では、ラップトップのキーボードのバックライトは、1分ほど操作がないと自動的にオフになりました。活動が発生するとすぐに、彼らは元に戻りました。
Ubuntuで、次を実行すると
echo <0-3> | Sudo tee /sys/class/leds/asus::kbd_backlight/brightness
これは、調光/明るさの増加に有効です(0がオフ、3が最も明るい)。
システムが1分間アイドル状態になったときに上記を自動的に実行し、アイドル状態から戻ったときに再実行する方法はありますか?
ありがとう。
xprintidle
をインストールして、現在のアイドル時間(キーボードイベントとマウスイベントがないことで定義される)を追跡します。dim_keyboard.sh
として保存します。 スクリプトを実行可能にします、権限のないユーザーがスクリプトを変更できない場所にコピーします(例:/usr/local/bin
)。sudoers
を指定してコマンドを実行するため、スクリプトをSudo
ファイルに追加します。行を追加します。
<username> ALL= NOPASSWD: /path/to/your/script
(<username>
はユーザー名)をファイルに追加します(例: ここ 。
NBsudoers
ファイルでは、セキュリティ上の理由から、常にフルパスを使用してください$PATH
にある場合も、スクリプトに。その理由は、Sudo
特権で、おそらくは悪意のあるコードで実行できる~/bin
に同様の名前のスクリプトを配置するのが簡単だからです。
テストとして、アイドル時間(秒単位)を引数としてスクリプトを実行します。
Sudo /path/to/script.sh 60
1分後にバックライトを暗くするには
すべてが正常に機能する場合は、スタートアップアプリケーションに追加します:ダッシュ>スタートアップアプリケーション>追加。コマンドを追加します。
Sudo /path/to/script.sh 60
#!/bin/bash
let "div = 1000"
let "limit = $1"
dimmed=false
cmd=/sys/class/leds/asus::kbd_backlight/brightness
while true
do
sleep 2
let "idle = $(xprintidle)"
if [ $(($idle / $div)) -gt $limit ] && [ $dimmed == false ]; then
echo 0 | tee $cmd
dimmed=true
Elif [ $(($idle / $div)) -le $limit ] && [ $dimmed == true ]; then
echo 3 | tee $cmd
dimmed=false
fi
done