自動化しようとしています。デスクトップ設定、これの一部としてバッテリーモニターパッケージをインストールしたい現在機械にバッテリーが接続されている場合のみ(UPSなどの外部バッテリーは関係ありません)。これをどのように検出できますか?
私のラップトップにはディレクトリがあり、/sys/class/power_supply/BAT1
デスクトップディレクトリには何もありません/sys/class/power_supply
。これがシステムの堅牢な指標ですか?システムファイルシステム?これ引用するディレクトリへの言及はありませんBATn
。ベンダー固有の機能になることはできますか?
答え1
バッテリー情報の存在は、/sys/class/power_supply
システムのバッテリーサポートを表す信頼できる指標であり、標準のLinux機能ですが、必ずしも同じ意味で呼び出されるわけではありません。あなたの項目はですBAT1
。battery
また、すべての項目が/sys/class/power_supply
バッテリーであるわけではありません。
このパターンに一致するすべてのファイルを見つけます/sys/class/power/supply/*/type
。そのうちの少なくとも1つにworksが含まれている場合は、Battery
バッテリーがあります。その他の可能な値はtype
次Mains
のUSB
とおりです。
別の可能なことは、システムがバッテリーを受け入れるが、バッテリーが物理的に取り外されたことである。この場合でも、Battery
電源が表示され続けます。これを検出する方法可能システムによって異なりますが、読んだり、capacity
他の操作を実行して、読取りエラーが発生したことを確認してください。これは、バッテリーが取り外されたことを示します。