Sajnálatos módon ezek a funkciók egyáltalán nem mondhatóak jól támogatottnak FreeBSD alatt. Ha szerencsénk van, akkor egyes funkciók jól működnek, mások pedig egyáltalán nem.
Hogy még bonyolultabb legyen a helyzet, két szabvány is létezik az energiagazdálkodásra: az APM és az ACPI, ahol az utóbbi bővebb és kiterjedtebb szabvány, mint az előbbi, de több problémát is felvet.
Egyes laptopok az APM-et és az ACPI-t is támogatják (adott mértékig), mások pedig csak az egyik szabványt ismerik. Emiatt mind a kettővel kísérletezni kell egy elfogadható energiagazdálkodási séma kialakításához.
Egyszerre nem lehet bekapcsolni az APM-et és az ACPI-t, még akkor sem, ha a laptop mind a kettőt támogatja.
Az APM (Advanced Power Management) BIOS támogatást ad a különféle energiagazdálkodási jellemzőkhöz, mint mondjuk a készenléti állapot, hibernálás, a processzor órajelének csökkentése stb., amelyek el is érhetőek FreeBSD 4.X és FreeBSD 5.X alatt.
Az APM támogatás bekapcsolásához
fordíthatunk energiagazdálkodásra
felkészített rendszermagot
(device apm0
FreeBSD 4.X esetén és
device apm
FreeBSD 5.X esetén) is, de
a FreeBSD 5.X vonal rendszermagjához már létezik
külön APM modul is, amelyet az indítás
során tudunk betöltetni úgy, hogy
/boot/loader.conf
állományhoz
hozzávesszük az apm_load="YES"
sort.
Ezen felül FreeBSD 5.X esetén még be kell
írni a hint.apm.0.disabled="0"
sort is a
/boot/device.hints
állományba.
Az APM-et minden indítással együtt
aktivizálhatjuk, ha megadjuk az
apm_enable="YES"
sort a
/etc/rc.conf
állományban. Ezen
kívül még hasznos lehet elindítani a
apmd(8) daemont is, méghozzá a
apmd_enable="YES"
sor
hozzávételével. Ez a daemon felügyeli a
BIOS-nak küldött különböző
APM-eseményeket, így készenléti
állapotba tudjuk helyezni a laptopunkat gombnyomásra,
vagy akár összecsukással is.
A APM-parancsok a apm(8) kézikönyvében
szerepelnek. Például, az apm -b
paranccsal le lehet kérdezni az akkumulátor
töltöttségét (vagy 255-öt ad vissza, ha
nem támogatott ez funkció), a apm -Z
energiatakarékos állapotba, ill. a
apm -z
(vagy a zzz
) parancs
készenléti állapotba helyezi a laptopot. A
számítógép kikapcsolásához
és áramtalanításához a
shutdown -p
parancsot kell használni.
Még egyszer megemlítjük, hogy a tárgyalt
funkciók közül nem mindegyik működik
megfelelően vagy akár egyáltalán
nem működik.
Esetenként tapasztalhatjuk, hogy a laptop
energiatakarékos vagy készenléti állapotba
helyezése ugyan működik konzolon, de X alatt
viszont nem (vagyis nem kapjuk vissza a képet). Ha
FreeBSD 5.X-et használunk, erre egy megoldás lehet,
ha beletesszük a
options SC_NO_SUSPEND_VTYSWITCH
sort a
rendszermagunk konfigurációs
állományába és újrafordítjuk
azt. Másik lehetőség, hogy átváltunk
egy virtuális konzolra (a
Ctrl+Alt+F1
lenyomásával, vagy ugyanígy egy másik
funkcióbillentyűvel), majd elindítjuk az
apm(8)-et. Ha apmd(8)-t használunk,
automatizálhatjuk is ezt a rendszert a vidcontrol(1)
segítségével. Ehhez nem kell mást
tennünk, csupán átírni a
/etc/apmd.conf
állományt az
alábbiak szerint:
Az ACPI (Advanced Configuration and Power Management Interface) nem csak energiagazdálkodást tesz lehetővé, hanem hardver-felderítést is (ezzel szinte feleslegessé téve a PnP-t és a PCI BIOS-t). Az ACPI támogatása csak FreeBSD 5.X alatt érhető el, és alapértelmezés szerint aktív. Ilyenkor tehát nem kell semmit se csinálni, hogy működésre bírjuk. Az ACPI viselkedését az acpiconf(8)-al tudjuk vezérelni.
Sajnos azonban, a gyártók gyakorta hibás ACPI-implementációval szállítják a laptopokat, aminek következtében az ACPI bekapcsolása több gondot okoz, mint hasznot, egészen annyira, hogy akár a FreeBSD bizonyos gépeken képtelen elindulni aktív ACPI támogatással.
Ha az ACPI használata gondokat okoz, ajánlott érdeklődni a laptopunk gyártójánál, hogy vajon készült-e ACPI-vel kapcsolatos BIOS-frissítés az utóbbi időben. Mivel a FreeBSD ACPI implementációja is még gyerekcipőben jár, ezért érdemes még frissíteni a rendszerünket is, elképzelhető ugyanis, hogy a problémánkat azóta már megoldották.
Az ACPI kikapcsolásához egyszerűen ki kell
bővíteni a /boot/device.hints
állományt a hint.acpi.0.disabled="1"
sorral. Ha gondunk lenne egy ACPI-t használó gép
indításával, ideiglenesen ki tudjuk kapcsolni az
ACPI-t az indítás során aktiválható
paranccsoron keresztül is, az unset acpi_load
parancs kiadásával. A FreeBSD 5.1-RELEASE
kiadásától kezdve már egy
rendszerindító menüben is kiválaszthatjuk,
hogyan induljon a rendszer: itt az egyik menüpont az
ACPI kikapcsolása. Ekkor tehát az ACPI
kikapcsolásához válasszuk a
(2. A FreeBSD indítása ACPI támogatás
nélkül) pontot a menüben.
Az X ablakkezelő rendszer (Xorg) is tartalmaz energiagazdálkodást a megjelenítő eszközök számára (ajánlott ezzel kapcsolatosan megnézni a xset(1) man oldalt, rákeresve a „dpms” szóra). Valószínűleg ezt is hasznos lesz megismerni. Azonban vegyük figyelembe, hogy sokszor nem következetesen működik a laptopokon: előfordulhat, hogy kikapcsolja ugyan a megjelenítőt, de nem kapcsolja ki a háttérvilágítást.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.