Skip to content
Кирил Владимиров

 Функциониране на Power бутона в GNU/Linux

   от Кирил Владимиров


От известно време се зачудих как мога да направя, когато натисна Power бутона на щайгата ми, при работеща  GNU/Linux машина, тя да започне да се изключва. Не говоря изключване от тупор, както ще стане, ако е механичен ключ(еех…и такива имаше…страшни беха :D).

Става въпрос за изключване, сякаш сте задали Изключване на системата, Shut down или просто сте написали halt в конзолката. Наложи ми се тази мярка заради баща ми, който някак си страшно много се привърза към Reset бутона. Не знам защо, ама Fluxbox-а не му допада :D

След запитване във форума на Gentoo.bg получих подобаващ отговор от lame и го публикувам. За постигане на целта е нужна комплирана ACPI подръжка в Linux ядрото. Лесна проверка дали това е така(ако не сте комплирали вие ядрото си) става така:

cat /usr/src/linux/.config | grep CONFIG_ACPI

Търсим следните редове:

CONFIG_ACPI=y
CONFIG_ACPI_BUTTON=m

Ако те са налице, то имате комплирана ACPI подръжка и всичко е наред :P Сега е време да укажем button модулът да се зарежда при всяко стартиране на машината. Изпълнете еднократно следния ред с root(sudo) права:

echo button >> /etc/modules.autoload.d/kernel-`uname -r | cut -f 1-2 -d .`

Лично аз го нямам този ред, защото се зарежда по подразбиране модулът. Но може при по-стари версии на ядрото(под 2.6.27) това да не става, за това по-добре го укажете. Сега е време да инсталираме и acpid пакетът. Има го в хранилищата на всяко дистро. Указваме на acpid да се стартира с включването на машината. (Под Gentoo става с rc-update add acpid default, нека някой под друго дистро да каже как става идеята под други дистра).

Последната стъпка е да редактираме файла /etc/acpi/events/default като поставим някъде из файла следните редове:

event=button[ /]power.*
action=/sbin/init 0

Еми това е :) Рестартирайте машинката и сте готови :P