ACPI/ja
ACPI (Advanced Configuration and Power Management Interface) は、BIOS の一部である電源管理システムです。
インストール
カーネル
ACPIでは、次のカーネルオプションをアクティブにする必要があります:
Power management and ACPI options --->
[*] Power Management support
[*] ACPI (Advanced Configuration and Power Interface) Support --->
オプション | モジュール | 推奨 | 詳細 |
---|---|---|---|
Deprecated /proc/acpi files | - | No | procfs ファイルシステム内に非推奨のファイルを作成します。これらは、現在では sysfs ファイルシステム内のファイルによって置き換えられています。 |
Deprecated power /proc/acpi directories | - | No | procfs ファイルシステム内に非推奨のファイルを作成します。これらは、現在では sysfs ファイルシステム内のファイルによって置き換えられています。 |
EC read/write access through /sys/kernel/debug/ec | ec-debugfs | No | 組み込みコントローラー用のデバッグインターフェース。 |
Deprecated /proc/acpi/event support | - | No | procfs ファイルシステム内に非推奨のファイルを作成します。これらは、現在では 入力レイヤーや netlink イベントによって置き換えられています。 |
AC Adapter | ac | Laptops | システムが AC に接続されているか示すファイルを作成します。 |
Battery | battery | Laptops | システムがバッテリーによって動作しているか示すファイルを作成します。 |
Button | button | - | 電源ボタン、スリープボタン、カバーに関するイベントを処理します。 |
Video | video | - | ビデオカードに関する基本的な操作をサポートします。 |
Fan | fan | - | ACPI ファンデバイスをサポートし、ユーザーモードアプリケーションがファンの基本的な制御(オン、オフ、状況確認)を扱えるようにします。 |
Dock | dock | - | ACPI 制御のドックステーションやリムーバブルドライブベイをサポートします。acpi dockの記事を参照してください。 |
Processor | processor | - | ACPI をLinux のアイドルハンドラとしてインストールし、ACPI C2・C3プロセッサーステートを使用して電力を節約します。 |
Processor Aggregator | processor-aggregator | - | 特定のプロセッサーを設定したり制御するための ACPI 4.0 の機能。 |
Thermal Zone | thermal | Yes | ACPI サーマルゾーンをサポートし、プロセッサーを過熱から保護します。 |
NUMA support | - | - | |
Debug Statements | - | No | |
PCI slot detection driver | pci-slot | No | PCI バスアドレスを物理スロットと相関させます |
Container and Module Devices | container | - | ACPI コンテナや、ホットプラグノード、CPU、メモリー用のモジュールデバイスをサポートします。 |
Smart Battery System | sbs, sbshc | - | ある種のラップトップに見られる、別方式のバッテリー情報へのアクセスをサポートします。 |
Hardware Error Device | hed | - | いくつかのハードウェアエラーを報告する、ハードウェアエラーデバイスをサポートします。 |
Allow ACPI methods to be inserted/replaced at run time | custom-method | No | |
ACPI Platform Error Interface (APEI) | - | - | APEI によって、(たとえばチップセットで発生した)エラーをオペレーションシステムに報告することができます。 |
Emerge
デスクトップ環境は、ACPI が生成する共通イベントに反応します。デスクトップ環境がインストールされていない場合や、システムを特別なイベントに反応するようにしたい場合は、ACPI パッケージをインストールすることができます。sys-power/acpid パッケージをインストールしてください:
root #
emerge --ask sys-power/acpid
USE フラグ
一部のパッケージはグローバルな acpi
USE フラグを関知します。現時点では sys-power/acpid で利用可能な use フラグはありません。
SELinux
acpid が SELinux システムをシャットダウンできるようにするには、sec-policy/selinux-shutdown パッケージがインストールされ、/sbin/shutdown 実行可能ファイルに再ラベル付けされていることを確認してください:
root #
emerge --ask sec-policy/selinux-shutdown
設定
/etc/acpiにあるスクリプトは、システムがACPIイベントにどのように反応するかを定義します。 ユーザーのニーズに合わせて、必要に応じて編集できます。
サービス
OpenRC
acpid サービスはもう開始できるようになっています。OpenRC を使用している場合は、次を実行してください:
root #
/etc/init.d/acpid start
起動時に acpid サービスを開始させるには、default ランレベルに追加してください:
root #
rc-update add acpid default
systemd
systemd を init システムとして使用している場合は、以下を実行して acpid サービスをシステム起動時に有効化してください:
root #
systemctl enable acpid.service
すぐにサービスを開始するには:
root #
systemctl start acpid.service
高度な例
一部のユーザーにはデフォルトのACPIセットアップで十分な場合がありますが、acpidデーモンにいくつかの基本的なACPIイベント(AC電源プラグイン/アウト、マルチメディアキーなど)を適切に処理させるために、少し追加の構成が必要になる場合があります。
必要であれば、/etc/acpi/default.sh と /etc/acpi/events/default に修正を加えることができます。/etc/acpi/actions と /etc/acpi/events の機能を利用して、複雑な構成を作成してもよいでしょう。高度な活用法のためには、単純にスクリプトとイベントファイルをこれらの場所に配置してください。
多くのユーザにとってはおそらく基本的な default.sh ファイルで十分でしょう。以下は、default.sh を使用して何ができるのかを示す例です:
#!/bin/sh
#
# $Header: /etc/acpi/default.sh Exp $
# $Author: (c) 2012-2014 -tclover <tokiclover@dotfiles.> Exp $
# $License: MIT (or 2-clause/new/simplified BSD) Exp $
# $Version: 2014/12/24 21:09:26 Exp $
#
log() { logger -p daemon "ACPI: $*"; }
uhd() { log "event unhandled: $*"; }
set $*
group=${1%/*}
action=${1#*/}
device=$2
id=$3
value=$4
[ -d /dev/snd ] && alsa=true || alsa=false
[ -d /dev/oss ] && oss=true || oss=false
amixer="amixer -q set Master"
ossmix="ossmix -- vmix0-outvol"
case $group in
ac_adapter)
case $value in
*0) log "switching to power.bat power profile"
hprofile power.bat;;
*1) log "switching to power.adp power profile"
hprofile power.adp;;
*) uhd $*;;
esac
;;
battery)
case $value in
*0) log "switching to power.adp power profile"
hprofile power.adp;;
*1) log "switching to power.adp power profile"
hprofile power.adp;;
*) uhd $*;;
esac
;;
button)
case $action in
lid)
case "$id" in
close) hibernate-ram;;
open) :;;
*) uhd $*;;
esac
;;
power) shutdown -H now;;
sleep) hibernate-ram;;
mute)
$alsa && $amixer toggle;;
volumeup)
$alsa && $amixer 3dB+
$oss && $ossmix +3;;
volumedown)
$alsa && $amixer 3dB-
$oss && $ossmix -3;;
*) uhd $*;;
esac
;;
cd)
case $action in
play) :;;
stop) :;;
prev) :;;
next) :;;
*) uhd $*;;
esac
;;
jack)
case $id in
*plug) :;;
*) uhd $*;;
esac
;;
video)
case $action in
displayoff) :;;
*) uhd $*;;
esac
;;
*) uhd $*;;
esac
unset alsa oss amixer ossmix group action device id
# vim:fenc=utf-8:ft=sh:ci:pi:sts=4:sw=4:ts=4:
ユーザ空間ユーティリティ
多くのパッケージが ACPI の機能を利用します。以下にその一部を列挙します:
- sys-power/acpi: /proc ファイルシステムから、バッテリの状態や温度などの情報を表示します
- sys-power/acpitool: apm ツールの代替となることを意図している、小さなコマンドラインアプリケーション
- sys-power/acpilight: 輝度の設定に ACPI インターフェースを使用する xbacklight の代替
- app-laptop/laptop-mode-tools: linux カーネル laptop_mode のユーザ空間ユーティリティ
- x11-misc/cbatticon: システムトレイに常駐する軽量で高速なバッテリアイコン
- app-admin/conky: 高度にカスタマイズ可能な X のためのシステムモニタ
関連項目
- ACPI/ThinkPad-special-buttons — describes how to configure ACPI events and actions for the Lenovo ThinkPad T410 laptop.
- Suspend and hibernate — describes how to suspend or hibernate a Gentoo system.
- Knowledge Base:Disabling ACPI support at boot time