web-dev-qa-db-ja.com

ラップトップがスリープから復帰したときにキーボードのバックライトがオンになるのを防ぐ方法は?

Thinkpad 470を使用しており、Ubuntu 16.04 LTSを実行しています。とりわけバッテリーを節約したいので、昼間はキーボードのバックライトを点灯したままにしたくない私が気づいたのは、画面が完全に暗くなった状態またはシステムが非アクティブのためにスリープ状態になった状態から目覚めた場合でも、バックライトが点灯することです。問題は、昼間または明るい光の存在下では、バックライトが点灯しているのを見ることができないため、スイッチをオフにせず、バッテリーが消耗することです。この設定を制御できるようにしたい。どうすればいいですか?

次の場所で少し検索した後:

/sys/class/leds/tpacpi::kbd_backlight

次のファイルが見つかりました。

rgh@arrakis:/sys/class/leds/tpacpi::kbd_backlight$ ls
brightness  brightness_hw_changed  device  max_brightness  
power  subsystem  trigger  uevent

これらのうち、ファイルトリガーには次の項目が含まれています。

[none] rfkill-any kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock 
kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock 
kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock AC-online 
BAT0-charging-or-full BAT0-charging BAT0-full 
BAT0-charging-blink-full-solid BAT1-charging-or-full 
BAT1-charging BAT1-full BAT1-charging-blink-full-solid usb-gadget 
usb-Host disk-activity ide-disk mtd nand-disk cpu cpu0 cpu1 cpu2 cpu3 
panic bluetooth-power rfkill0 rfkill1 phy0rx phy0tx phy0assoc phy0radio 
hci0-power rfkill41

私が探している動作を得るには、ここで何かを削除する必要があると思いますか?私が正しいかどうか教えてもらえますか?これをどうやってやるの?

7
Chani

このことから reddit post OPには、サスペンドから再開するときにライトが常にオフになるという逆の問題がありました。

同じアプローチに従いますが、1(オン)を0(オフ)に変更できます。

フォルダー/etc/systemd/system/sleep.target.wants/を見つけて、次の内容でkb_backlight_resume.serviceを作成します。

[Unit]
Description=Switch on keyboard backlight after resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
ExecStart=/bin/echo 0 > "/sys/devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight/brightness"

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Thinkpadがなく、Dellバックライトキーボードのディレクトリ構造が異なります。あなたの環境でこれをテストすることはできません。上記のディレクトリ名がオフの場合、コードを手動で調整する必要がある場合があります。

中断/再開をテストする前に再起動することを忘れないでください。

2

で試してください:

Sudo apt-get install pm-utils

/usr/lib/pm-utils/sleep.dでスクリプトを作成します

Sudo nano /usr/lib/pm-utils/sleep.d/KB_BACK_OFF.sh

以下をコピーして貼り付けます。

#!/bin/sh

case "$1" in
       resume)
             xset led off
                ;;
esac

exit 0

スクリプトを実行可能にします。

Sudo chmod a+x /usr/lib/pm-utils/sleep.d/KB_BACK_OFF.sh

スクリプトのコマンドxset led offが機能しない場合は、コマンドxset -led(YOUR NUMBER)を1〜32の数字に置き換えてください。- 例:xset -led 3

私はKubuntu 18.04で別の目的でスクリプトを実行しようとしましたが、システムウェイクアップで動作します。

システムを再起動する必要はありません

0