# [gelöst] Powerbutton

## flammenflitzer

Hallo

Ich möchte, daß das System sich nach Abstürzen über den "Aus Schalter" am PC sauber herunterfahren läßt.

Wie bekomme ich das hin? Muß ich im Kernel vielleicht CONFIG_ACPI_HOTKEY aktivieren? Oder muß ich acpi installieren und im default runlevel laufen lassen?

```
etc/acpi/events/default

#event=button power.*

#action=/sbin/init 0
```

auskommentieren?Last edited by flammenflitzer on Thu Jul 05, 2007 7:26 pm; edited 1 time in total

----------

## schmutzfinger

Naja das kommt ja drauf an wie du Absturz definierst. Also wenn der kernel abschmiert dann nützt dir auch acpi nix mehr und die Kiste wird nicht sauber runterfahren. Ich denke mal du meinst sowas wie nen Absturz von X, wo Mouse und Tastatur im kaputten X gefangen sind.

Dafür kannst du das acpi event vom powerbutton nutzen. Einfach acpi im kernel anschalten und acpid installieren. In nem aktuellen acpid steht die Aktion für den button in /etc/acpi/default.sh. Aber dazu solltest du dir einfach mal ein HowTo angucken.

Wenn es wirklich nur um nen Absturz von X geht, dann ist "/etc/init.d/xdm restart" oder "killall -9 X" vielleicht schöner als ein reboot.

----------

## flammenflitzer

Ich habe in letzter Zeit ab und zu mal Abstüze in der Art, daß Tastatur und Maus nicht mehr reagieren (also xserver). In diesem Fall möchte ich den Rechner so herunterfahren, das alle Partitionen ausgehangen werden etc.

Ich habe jetzt acpid installiert. Da gibt es schon das erste Problem:

```
localhost linux # /etc/init.d/acpid start

 * Caching service dependencies ...

[ ok ]

 * Starting acpid ...

acpid: can't open /proc/acpi/event: Device or resource busy

[ !! ]

localhost linux # ls /proc/acpi/event

/proc/acpi/event

localhost linux # cat /proc/acpi/event

cat: /proc/acpi/event: Das Gerät oder die Ressource ist belegt
```

----------

## schmutzfinger

Mhh haste das nach nem howto gemacht oder einfach mal probiert? Den Fehler habe ich noch nie gesehen. Was sagt denn acpi_listen?

----------

## flammenflitzer

```
localhost olaf # acpi_listen

acpi_listen: can't open socket /var/run/acpid.socket: No such file or directory

localhost olaf # /etc/init.d/acpid status

 * status:  stopped

localhost olaf # /etc/init.d/acpid start

 * Starting acpid ...

acpid: can't open /proc/acpi/event: Device or resource busy               [ !! ]

localhost olaf # /etc/init.d/acpid status

 * status:  stopped

localhost olaf # acpi_listen

acpi_listen: can't open socket /var/run/acpid.socket: No such file or directory

localhost olaf #
```

Ich habe acpid installiert (emerge) und dann gestartet. Dann wollte ich lt. howto die Reaktion des Powebutton auslesen.

----------

## sirro

 *flammenflitzer wrote:*   

> Ich habe in letzter Zeit ab und zu mal Abstüze in der Art, daß Tastatur und Maus nicht mehr reagieren (also xserver).

 

Wie wäre es mit einem anderen Ansatz über die SysRq-Taste auf der Tastatur?

http://www.linuxhowtos.org/Tips%20and%20Tricks/sysrq.htm?print=110

----------

## flammenflitzer

Wenn die nicht mehr reagiert? Habe ich schon gelesen, und im Kernel, sowie auf einem Klebezettel am Monitor. Danke. MfG

Allerdings habe ich das damals mit der Druck/S-Abf Taste gelesen. Weiß jetzt nicht, ob das die gleiche ist wie SysRQ.

----------

## firefly

 *flammenflitzer wrote:*   

> Wenn die nicht mehr reagiert? Habe ich schon gelesen, und im Kernel, sowie auf einem Klebezettel am Monitor. Danke. MfG
> 
> Allerdings habe ich das damals mit der Druck/S-Abf Taste gelesen. Weiß jetzt nicht, ob das die gleiche ist wie SysRQ.

 

SysRQ ist die sogennante Druck taste.

----------

## sirro

 *flammenflitzer wrote:*   

> Wenn die nicht mehr reagiert?

 

Jo, der SysRq wird einfach abgefangen.

Sie geht ja schon noch, noch X hat halt einen exklusiven Zugriff auf sie und macht nichts mehr. Wenn der Kernel aber direkt etwas abfängt und entsprechend verarbeitet geht das.

----------

## flammenflitzer

Kann das ein Bug sein?

https://bugs.launchpad.net/ubuntu/+source/acpid/+bug/51591

```
localhost olaf # /etc/init.d/powernowd status

 * status:  started

localhost olaf # /etc/init.d/acpid status

 * status:  stopped

localhost olaf # /etc/init.d/acpid start

 * Starting acpid ...

acpid: can't open /proc/acpi/event: Device or resource busy               [ !! ]

localhost olaf # /etc/init.d/hald status

 * status:  started

localhost olaf # /etc/init.d/hald stop

 * Stopping Hardware Abstraction Layer daemon ...                         [ ok ]

localhost olaf # /etc/init.d/acpid start

 * Starting acpid ...                                                     [ ok ]

localhost olaf # /etc/init.d/hald status

 * status:  stopped

localhost olaf # /etc/init.d/hald start

 * Starting Hardware Abstraction Layer daemon ...                         [ ok ]

localhost olaf # /etc/init.d/acpid status

 * status:  started

localhost olaf #

```

Demnach müßte ich hald nach acpid starten. Mein Ansatz: Hald in die local.start. Oder kann man die Reihenfolge der Dienste noch irgendwo anders festlegen?

----------

## flammenflitzer

Habe mich jetzt an das hier gehalten:

http://gentoo-wiki.com/HOWTO_Shutdown_headless_server_when_power-button_pressed

----------

## obrut<-

sysrq funzt, wen der x-server hängt. musste es ne zeitlang selbst öfters nutzen. 

alt + druck + s + u + b

s initiiert einen sync der platten, u sorgt für ein remount readonly und b löst den reboot aus. funzt bestens. die dateisysteme werden kurz geprüft, aber i.d.r. sind keine fehler vorhanden.

----------

## flammenflitzer

Ja, aber doch nicht, wenn die Tastatur nicht mehr reagiert. Ich habe das auch eine Zeitlang benutzt, aber es funktioniert nicht immer.

----------

## Finswimmer

 *flammenflitzer wrote:*   

> Ja, aber doch nicht, wenn die Tastatur nicht mehr reagiert. Ich habe das auch eine Zeitlang benutzt, aber es funktioniert nicht immer.

 

Wenn der Kernel selbst sich zerlegt geht es nicht.

Ich überprüfe das immer, indem ich die Num Taste drücke. Wenn sich das noch umschalten lässt, gibt es noch "Lebenszeichen" vom Rechner.

Dann *sollte* SysRQ gehen. Ansonsten ist der Rechner halt komplett festgefahren und dann hilft nichts mehr.

Das Ganze ist an sich unabhängig vom X. Ich hatte mal ne PCI Karte, die beim Hochfahren ab und zu den Kernel gekillt hat, da halfen auch keine SysRQ Tasten mehr...

Tobi

----------

