コマンドラインからLinuxラップトップのバッテリーをチェックする方法

公開: 2022-08-20
bash プロンプトを表示している Linux ラップトップ
Fatmawati achmad zaenuri/Shutterstock.com

ラップトップ コンピュータを使用すると、好きな場所で作業できます。 ラップトップのバッテリーが寿命を迎えている限りは。 Linuxコマンドラインでバッテリーを確認する方法は次のとおりです。

ノートパソコンのバッテリー

主電源 AC アダプターから切り離されたラップトップは、すべてのことをバッテリーに完全に依存しています。 画面への電力供給、ハード ドライブの使用、Wi-Fi へのアクセス、ユーザー入力の読み取りはすべて、バッテリーが十分に機能していないと、不快なほど停止します。

ラップトップを常に接続したままにしておくことが良いことなのか悪いことなのかについて、メーカーは意見が一致していません。 それをしたくない場合は、ラップトップを持って外出するときに、通常、ラップトップのバッテリー充電が 100% になることはありません。

ラップトップを常に接続したままにしておくべきですか?
関連常にラップトップを接続したままにしておくべきですか?

バッテリも、使用可能な寿命とともに低下します。 そのため、古いバッテリーは、新品のときと同じ充電を維持できません。 そして、それが新品であったとしても、メーカーが広告で主張したものを手に入れることができる可能性はほとんどありません.

もちろん、バッテリーの充電に注意する必要があることを知っていることは、ラップトップを使用することの一部です。 それは何も新しいことではありません。 しかし、コマンド ラインからバッテリーを確認する必要がある場合はどうすればよいでしょうか。

外出先で SSH を使用して自宅のラップトップにリモート接続していて、それが電源に接続されているのかバッテリで動作しているのかを思い出せない場合があります。 おそらく、ラップトップを GUI のないサーバーとして使用したり、タイル ウィンドウ マネージャーを使用したりして、バッテリー充電量を画面上に表示していない場合があります。

コマンド ラインでラップトップの電源状態を確認できるということは、これらの手法をスクリプトに含めることもできるということです。

upower でバッテリーをチェックする

upowerコマンドを使用して、ラップトップで使用できる主電源とバッテリー ソースを確認できます。 それらを発見したら、詳細を尋ねることができます。

-e (列挙) オプションは、検出できるすべての電源を一覧表示します。

 upower-e 

upower を使用した電源デバイスの一覧表示

最初のエントリは AC アダプタ用です。 2つ目はバッテリーです。 ラップトップには複数のバッテリーが搭載されていることがあります。 また、メーカーの好みに応じて、最初のバッテリーの番号が 1 の場合もあれば、0 の場合もあることに注意してください。

「DisplayDevice」エントリは電源ではありません。 デスクトップ環境で表示するステータス アイコンを表す複合デバイスです。

バッテリーを詳しく調べるために、 -i (情報) オプションを使用して、バッテリーの完全な記述子を渡します。

 upower -i /org/freedesktop/UPower/devices/battery_BAT1 

upower でバッテリーを調べる

最も重要な 2 つの項目は、「Time to Empty」値と「Percentage」値です。 これらは、バッテリーがラップトップに電力を供給し続けることができる期間と、バッテリーに残っている充電のパーセンテージを示します。

AC アダプタを抜いた状態での upower からの出力

注意すべき重要な点は、期間がラップトップの現在のアクティビティに関連していることです。 ラップトップの負荷が増加すると、その期間は減少します。

テスト ラップトップを SSH 接続経由でリモートで使用すると、ラップトップの内蔵ディスプレイは使用されませんでした。 しばらくすると自動的にブランクになりました。 画面がブランクの場合、ラップトップのバッテリ寿命は、画面が点灯している場合よりも 1 時間以上長くなりました。

AC アダプターが接続されている場合、 upowerによって返される情報はわずかに異なります。

 upower -i /org/freedesktop/UPower/devices/battery_BAT1 

ACアダプタを差し込んだ状態でupowerから出力

「Time to Empty」の値は、「Time to Full」の値に置き換えられました。これは、バッテリーが 100% に達するまでの残り時間です。 「アイコン名」の値も、主電源の存在を反映して「バッテリー - フル充電 - シンボル」に変更されました。

ACアダプターについても詳しく見ていきます。

 upower -i /org/freedesktop/UPower/devices/line_power_ACAD 

アダプターを接続した状態で、upower で AC アダプターを調べる

「Online」の値は、AC アダプタが接続されている場合は「yes」を表示し、プラグが差し込まれていない場合は「no」を表示します。

アダプターを抜いた状態で、upower で AC アダプターを調べる

/sys/class/power_supply/ の内容を調べる

ラップトップでは、「/sys/class/power_supply/」ディレクトリに、有効に活用できる情報が含まれています。 「ACAD」と「BAT1」の 2 つのサブディレクトリには、バッテリー容量と AC アダプターが接続されているかどうかを確認するために参照できる情報が含まれています。

バッテリーのサブディレクトリは、ラップトップでは「BAT0」と呼ばれる場合があることに注意してください。 ラップトップに複数のバッテリーが装着されている場合、複数のバッテリー サブディレクトリが作成されます。

「ACAD」サブディレクトリにある「online」というファイルには、AC アダプタが接続されている場合は数字の 1 が保持され、そうでない場合は数字の 0 が保持されます。

「BAT1」サブディレクトリにある「capacity」というファイルには、バッテリの充電状態の値が保持されます。

 ls /sys/class/power_supply/
 cat /sys/class/power_supply/ACAD/オンライン
猫 /sys/class/power_supply/BAT1/capacity 

cat を使用してオンライン ファイルと容量ファイルを確認する

このラップトップには AC アダプターが接続されており、バッテリーの充電は 81% です。

これら 2 つの値は単純明快な方法で提示されるため、スクリプトでの使用に最適です。

AC 電源が存在する場合、またはバッテリの充電が 70% を超えている場合にのみ実行するバックアップ スクリプトがあるとします。 このスクリプトのスタブは、それを実現する方法を示しています。

 #!/ビン/バッシュ

charge_level="$(cat /sys/class/power_supply/BAT1/capacity)"

ac_adapter="$(cat /sys/class/power_supply/ACAD/online)"

if [[ ac_adapter -eq 0 ]]; 

それから 

  if [[charge_level < 70]]; 

  それから 

    echo "バックアップ用のバッテリー充電が不十分です:" $charge_level 

  そうしないと 

    echo "十分なバッテリー充電があり、バックアップを開始しています:" $charge_level 

  フィ 

そうしないと

  echo "主電源で、バックアップを開始します。" 

フィ

スクリプトは 2 つのファイルから値を取得し、それらを変数charge_levelおよびac_adapterに格納します。

AC アダプターが接続されていない場合、 ac_adapterの値はゼロになります。 その場合、スクリプトはcharge_levelでバッテリーの充電をチェックします。 バッテリの充電が 70% を超えると、バックアップが実行されます。

AC アダプターが接続されている場合、バックアップが実行され、スクリプトはバッテリーの充電値をチェックしません。

スクリプトをエディターにコピーし、「battery.sh」として保存します。 ラップトップのバッテリー サブディレクトリへの正しいパスを使用していることを確認してください。

chmodコマンドでスクリプトを実行可能にする必要があります。

 chmod +x battery.sh 

スクリプトを実行可能にする

これで、スクリプトを実行できます。 ACアダプタが差し込まれています。

 ./バッテリー.sh 

AC アダプターを接続した状態でスクリプトを実行する

AC アダプターを抜いて、もう一度実行してみましょう。

 ./バッテリー.sh 

AC アダプタを取り外した状態でスクリプトを実行する

ラップトップの電源状態が正しく検出され、スクリプトがそれに応じて動作します。

acpi でバッテリーをチェックする

高度な構成と電源インターフェイス パッケージがインストールされている場合は、それを使用してラップトップのバッテリーと電源の状態を照会できます。 インストールしていない場合は、小さなパッケージであり、非常に迅速にインストールされます。

Ubuntu では、このコマンドでインストールできます。

 sudo apt install acpi 

Ubuntu に acpi をインストールする

Fedora では、以下を使用します。

 sudo dnf install acpi 

Fedora に acpi をインストールする

Manjaro では、次のように入力する必要があります。

 sudo pacman -Sy acpi 

Manjaroにacpiをインストールする

-a (AC アダプター) オプションを指定してコマンドを使用し、次に-b (バッテリー) オプションを指定してもう一度使用します。 最後に、 -b (バッテリー) オプションと-i (情報) オプションを付けて実行します。 これにより、利用可能な情報があれば少し追加情報が得られます。

 acpi-a
 acpi-b
 acpi-bi 

acpiでACアダプターとバッテリーをチェックする

知識は力である

これで、ラップトップに給電する電力についての知識を得ることができます。

システム イメージやアップグレードなどの高負荷または長時間のタスクを実行するために、主電源または十分なバッテリ電源があるかどうかをスクリプトで確認する機能は、特に強力です。

関連: Linux ラップトップのバッテリー寿命を最大化する方法