ウェブサイト検索

コマンドラインからLinuxノートパソコンのバッテリーを確認する方法


ノートパソコンを使えば、好きな場所で作業できます。ただし、ノートパソコンのバッテリーに充電がある限りです。Linuxのコマンドラインでバッテリーを確認する方法は以下の通りです。

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

ACアダプターから外れると、あなたのラップトップはすべての動作をバッテリーに完全に依存します。バッテリーが十分でない場合、画面の電源供給、ハードドライブの使用、Wi-Fiへのアクセス、ユーザー入力の読み取りすべてが突然停止します。

メーカーは、ノートパソコンを常に充電したままにすることが良いことなのか悪いことなのか合意できていません。それをしたくない場合、外出する際にはノートパソコンのバッテリーは通常100%にはなっていません。

バッテリーは使用可能な寿命の中で性能が低下します。したがって、古いバッテリーは新しい時のように同じ充電量を保持できません。また、新しいときでさえ、メーカーが広告で主張したほどのパフォーマンスを得ることは非常に unlikely です。

もちろん、バッテリーの充電状態に気を配る必要があることはノートパソコンを使う上で当然のことです。それは新しいことではありません。しかし、もしコマンドラインからバッテリーを確認する必要がある場合はどうでしょうか?

あなたは外出していて、自宅のラップトップにSSHでリモート接続していて、それが電源につながっているのかバッテリーで動いているのか思い出せないかもしれません。もしかしたら、ラップトップをGUIなしのサーバーとして使用しているか、タイルウィンドウマネージャを使っていて、バッテリーの残量を表示する画面がないのかもしれません。

コマンドラインでノートパソコンの電力状態を確認できることは、それらの技術をスクリプトに組み込むことも可能になることを意味します。

upowerを使用したバッテリーの確認

upowerコマンドを使用して、ラップトップに利用可能な電源およびバッテリー源を確認できます。それらを発見したら、詳細を要求することができます。

その

-e

(列挙) オプションは検出できるすべての電源をリストします。

upower -e

最初の項目はACアダプター用です。2つ目はバッテリーです。ノートパソコンにはいくつかのバッテリーがあるかもしれません。また、最初のバッテリーはメーカーの好みによって、時々1と番号付けされ、時々0と番号付けされることに注意してください。

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

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

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

最も興味深い2つの項目は「空になるまでの時間」値と「パーセンテージ」値です。これらは、バッテリーがノートパソコンに電力を供給し続けることができる期間と、バッテリーに残っている充電の割合を示しています。

重要なポイントは、使用時間がラップトップの現在の活動に関連しているということです。ラップトップの負荷が増加すると、その使用時間は短くなります。

SSH接続を介してテスト用のラップトップをリモートで使用することは、ラップトップの内蔵ディスプレイが使われていないことを意味しました。短時間後に自動的に画面が消えました。画面が消えている状態では、ラップトップのバッテリー寿命は画面が点灯している時よりも1時間以上長くなりました。

ACアダプターが接続されている場合、upowerが返す情報は少し異なります。

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

「空になるまでの時間」値は「満充電までの時間」値に置き換えられました。これは、バッテリーが100%に達するまでの残り時間を示しています。「アイコン名」値も「battery-full-charging-symbolic」に変更され、電源が供給されていることを反映しています。

ACアダプターについても、もう少し詳しく見てみることができます。

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

「オンライン」値は、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/online
cat /sys/class/power_supply/BAT1/capacity

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

これら二つの値は簡潔で飾り気のない方法で提示されているため、スクリプトでの使用に最適です。

AC電源が存在する場合、またはバッテリー残量が70%を超えている場合にのみ実行されるバックアップスクリプトがあるとしましょう。このスクリプトのスタブは、どのようにそれを達成できるかを示しています。

#!/bin/bash

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

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

if [[ ac_adapter -eq 0 ]];

then

  if [[ charge_level < 70 ]];

  then

    echo "Insufficient battery charge for backup:" $charge_level

  else

    echo "Sufficient battery charge, starting backup:" $charge_level

  fi

else

  echo "On Mains power, starting backup."

fi

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

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

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

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

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

chmod +x battery.sh

今、スクリプトを実行できます。ACアダプターが接続されています。

./battery.sh

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

./battery.sh

ノートパソコンの電源状態が正しく検出され、スクリプトはそれに応じて動作します。

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

上級設定および電源インターフェースパッケージがインストールされている場合、これを使用してノートパソコンのバッテリーおよび電源の状態を問い合わせることができます。インストールされていない場合は、小さいパッケージで、非常に迅速にインストールされます。

Ubuntuでは、このコマンドを使用してインストールできます。

sudo apt install acpi

Fedoraでは、次のように使用します:

sudo dnf install acpi

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

sudo pacman -Sy acpi

私たちは、-a(ACアダプター)オプションを使ってコマンドを実行し、その後もう一度-b(バッテリー)オプションで実行します。最後に、-b(バッテリー)オプションと-i(情報)オプションで実行します。これにより、もし利用可能であれば、少し余分な情報が得られます。

acpi -a
acpi -b
acpi -bi

知識は力です

そして今、あなたはノートパソコンに電力を供給する力についての知識を得ることができます。

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

関連記事: