# No Mouse Curser nach suspend-ram(brauch nur nen kleinen Tip)

## curator

Hi,

zunächst das Problem:

ibm-acpi läuft im supend to ram modus, allerdings wenn er wieder hochfährt habe ich keine Mauszeiger, die Maus ist da, man kann klicken etc, man weis halt nur nicht wo man ist. Soweit so schlecht, aber ich hab hier das Problem wieder gefunden:

http://www.thinkwiki.org/wiki/Problems_with_ACPI_suspend-to-ram

So, was da steht ist folgendes:

 *Quote:*   

> 
> 
> No mouse cursor on resume
> 
>     When resuming from a suspend-to-ram your X cursor might be invisible(on X40) when using /sys/power/state directly to suspend, they way to fix this is to rerun the post bios code after returning for suspending. 
> ...

 

Sieht ja nach meinem Problem aus, nur versteh ich die Lösung nicht.......

Ich gehe mal davon aus, dass der Text in meine sleep.sh rein muss (die auf tastendruck ausgelöst wird)

Aber wohin? Hab an mehren Stellen versucht, machmal fuhr er nicht mehr runter, manchmal nicht mehr hoch......HILFE

Trotz länglichem Text anbei meine sleep.sh

```

#!/bin/sh

chvt 1

WLAN=0

if grep ath0 /etc/network/ifstate; then 

  WLAN=1

  wlan_off

fi

#modules

rmmod e1000

rmmod i915

rmmod ehci-hcd

rmmod uhci-hcd

rmmod ath_pci

#schiess die dhcp leases in den wind!!

rm /var/run/dhcpcd-*

echo -n mem > /sys/power/state

#modules

modprobe e1000

modprobe i915

modprobe ehci-hcd

modprobe uhci-hcd

modprobe ath_pci

if [ $WLAN == 1 ]; then

  wlan_on

fi

ifconfig ath0 up

ifconfig eth0 up

```

Danke

----------

## borsdel

moin, hast ma gesehn was das ding macht *löl*?

die aktuelle konsole in $FGCONSOLE speichern, dann auf konsole 1 mit chvt, suspend.

nachm suspend einmal vbe mittels nen post machen, ab auf X, dann auf die konsole wo du vorher warst.

ich würde dir empfehlen, deine sleep.sh aufzugeben und dir mal 

```

 sys-power/hibernate-script

     Available versions:  1.94-r5 ~1.95_beta20070504 ~1.95_beta20070504-r1 {logrotate vim}

     Installed versions:  1.94-r5(22:34:36 22.03.2007)(-logrotate -vim)

     Homepage:            http://www.suspend2.net/

     Description:         Hibernate script supporting multiple suspend methods
```

 anzusehen.

richtest du dann alles unter /etc/hibernate/ ein. in der datei common.conf:

```
### vbetool

# EnableVbetool yes

# RestoreVbeStateFrom /var/lib/vbetool/vbestate

VbetoolPost yes

# RestoreVCSAData yes

### xhacks

SwitchToTextMode yes

# UseDummyXServer yes

# DummyXServerConfig xorg-dummy.conf

```

 gibt es das, einfach mal probieren.

und dann kannst du hibernate-ram in /etc/acpi/default.sh für deinen button setzen.

so, hoffe alles einigermaßen richtig, auf alle fälle: hibernate-script erleichtert ein wenig das leben.

mfg borsdel

----------

## curator

Hm, eigentlich lief ja alles, aber ich in ja offen für was neues:-)

Also, deine Änderungen in der common.conf vorgenommen und default.sh geändert

Ok, auf Knopfdruck: Pc fährt in den sleep modus, wenn ich dann auf power drücke, wachte der kurz auf und fährt direkt wieder in den sleep modus, beim erneuten aufwecken steht der auch brav auf, jedoch ohne mauszeiger   :Confused: 

----------

## borsdel

naja, etwas rumdoktorn musst du in den configs wohl noch.

setz mal noch EnableVbetool yes  :Wink: 

und gemerged hast sys-apps/vbetool auch?

achja, mit acpi_listen schau mal wieviele button-events ausgelöst werden (also welche, evtl zweimal usw)...

ja, bei manchen notebooks ist diese acpi geschichte bisserl buggy

btw ich hatte zwischenzeitlich mit kernel 2.6.16-20 probleme, dass nach dem suspend irgendwelche events nicht richtig ausgelöst wurden, teilweise statt "sleep" kam dann "lid" oder zweimal "sleep". nunja, mit kernel 2.6.21 ist alles wieder bestens, da wohl das komplette acpi-system umgeschrieben wurde.

----------

## curator

Ok, also vbetool läuft jetzt (Maus wieder da)!!

Aber er fährt immer noch einmal zusätzlich runter...........

acpi listen meldet das hier:

```

ibm/hotkey HKEY 00000080 00001004

battery BAT0 00000080 00000001

processor CPU 00000081 00000000

battery BAT0 00000080 00000001

battery BAT0 00000080 00000001

processor CPU 00000081 00000000

battery BAT0 00000080 00000001

```

Was ich getan habe:

sleep button gedrückt, power button zum annmachen (ist direkt wieder untergefahren) dann machmal power button und an war er!

Hm

[EDIT:] Wenn ich ihn nur mit der FN Taste Wecke gehts

----------

## borsdel

hmm, in dem log tauchen ja überhaupt keine acpi-buttons auf...

in der common.conf teste mal noch

```
### hardware_tweaks

IbmAcpi yes

# Runi915resolution yes

# FullSpeedCPU yes
```

hattest du denn dieses problem auch schon vorher? und auf welchen button hast du suspend gelegt?

[Edit:] na dann ist doch alles gut  :Smile: 

----------

## curator

Mit dem Ibm acpi = Yes Ding geht auch der Power Button richtig!!!

BTW:

Hab noch nen Blank Screen Button, hast du dafür auch so ne tolle Idee wie hibernate-ram?

----------

## borsdel

was soll der blank screen button machen? bildschirm aus/licht aus? wirft der nen acpi-event oder nen keycode?

----------

## curator

Einfach Bildschirm auf schwarz, rechner rennt weiter, (So wie in Windows: Monitor ausschalten nach n Minuten, halt nur mit Knopf)

Der wirft nen acpi event, denn ich gefangen hab und mit ner sh verknüpft habe. geht auch, das heißt ich KÖNNTE mit der Taste der Rechner runterfahren, nur will ich das nicht  :Smile: 

----------

## borsdel

na dann mach doch auf die taste

```
xset dpms force off
```

----------

## curator

So denn, den Befehl in ein sh script namens screen.sh geschrieben, mit sh screen.sh ausgeführt klappt (wunderbar, wie es sein soll)

Leider klappt der Tastendruck auf dieses Skript nicht.

/var/log/acpid meldet dazu:

```

[Thu May 17 01:22:58 2007] received event "ibm/hotkey HKEY 00000080 00001003"

[Thu May 17 01:22:58 2007] notifying client 4487[0:0]

[Thu May 17 01:22:58 2007] notifying client 4293[102:1002]

[Thu May 17 01:22:58 2007] executing action "/etc/acpi/screen.sh"

[Thu May 17 01:22:58 2007] BEGIN HANDLER MESSAGES

xset:  unable to open display ""

[Thu May 17 01:22:58 2007] END HANDLER MESSAGES

[Thu May 17 01:22:58 2007] action exited with status 1

[Thu May 17 01:22:58 2007] executing action "/etc/acpi/screen.sh"

[Thu May 17 01:22:58 2007] BEGIN HANDLER MESSAGES

xset:  unable to open display ""

[Thu May 17 01:22:58 2007] END HANDLER MESSAGES

[Thu May 17 01:22:58 2007] action exited with status 1

[Thu May 17 01:22:58 2007] executing action "/etc/acpi/default.sh ibm/hotkey HKE

Y 00000080 00001003"

[Thu May 17 01:22:58 2007] BEGIN HANDLER MESSAGES

[Thu May 17 01:22:58 2007] END HANDLER MESSAGES

[Thu May 17 01:22:58 2007] action exited with status 0

[Thu May 17 01:22:58 2007] completed event "ibm/hotkey HKEY 00000080 00001003"
```

Das scheint ja so, als hätte er mein script gefunden und würds auch versuchen aber:

```
xset:  unable to open display ""
```

Als normales Skript gehts ja aber........

----------

## borsdel

joa, das normal

nimmst halt als beispielauszug aus /etc/acpi/default.sh 

```
case "$ev_type" in

    button)

        case "$event" in

            power)

                logger "acpid: received a shutdown request"

                hibernate

                break

                ;;

            sleep)

                logger "acpid: received a shutdown request"

                hibernate-ram

                break

                ;;

             blank)

                /usr/bin/xset -display :0.0 dpms force off

                break

                ;;

             *)

```

wichtig ist dass du als root (bzw mit den rechten der acpid läuft) zugriff auf X hast (hängt davon ab, wie du X startest, also loginmanager oder nicht usw). ansonsten hilft ein 

```
zensiert
```

 (aber vorsicht, nochmal nachlesen)

mfg borsdel

//edith das mit dem zensiert war ne ganz schlechte idee, bitte schnell vergessen! das muss über dir ~/.Xauthority geregelt werden.

----------

## curator

Hm, immerhin was anderes (hab die Zeile der Vergleichbarkeit halber in die screen.sh kopiert:

```

Thu May 17 01:49:39 2007] received event "ibm/hotkey HKEY 00000080 00001003"

[Thu May 17 01:49:39 2007] notifying client 4409[0:0]

[Thu May 17 01:49:39 2007] executing action "/etc/acpi/screen.sh"

[Thu May 17 01:49:39 2007] BEGIN HANDLER MESSAGES

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

/usr/bin/xset:  unable to open display ":0.0"

[Thu May 17 01:49:39 2007] END HANDLER MESSAGES

[Thu May 17 01:49:39 2007] action exited with status 1

[Thu May 17 01:49:39 2007] executing action "/etc/acpi/screen.sh"

[Thu May 17 01:49:39 2007] BEGIN HANDLER MESSAGES

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

/usr/bin/xset:  unable to open display ":0.0"

[Thu May 17 01:49:39 2007] END HANDLER MESSAGES

[Thu May 17 01:49:39 2007] action exited with status 1

[Thu May 17 01:49:39 2007] executing action "/etc/acpi/default.sh ibm/hotkey HKE

Y 00000080 00001003"

[Thu May 17 01:49:39 2007] BEGIN HANDLER MESSAGES

[Thu May 17 01:49:39 2007] END HANDLER MESSAGES

[Thu May 17 01:49:39 2007] action exited with status 0

[Thu May 17 01:49:39 2007] completed event "ibm/hotkey HKEY 00000080 00001003"

[Thu May 17 01:49:42 2007] client connected from 4196[102:1002]

[Thu May 17 01:49:42 2007] 1 client rule loaded

```

Im wesentlichen:

```

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

```

Zu lösen mit xhost +

Birgt das gefahren oder kann ich das einfach in die local.start einbauen?

----------

## borsdel

ja, du hast als root keinen zugriff auf dein X. deswegen klappt des nicht

welchen login-manager verwendest du?

vorübergehend kannst ja 

```
xhost +local:root
```

 in deine ~/.bashrc setzen, aber das ist eben ne pfuschige, unsichere nummer.

mfg borsdel

----------

## curator

Argh, es ist zum zerzweifeln:

Jetzt geht der Blank wunderbar, dafür geht der hibernate-ram nicht mehr...............

Der fährt zwar ordentlich runter, aber beim wiederrauffahren von kdm siehst KDE seltsam aus:

Manche sachen sind durchsichitg, wenn man scrollt verschwimmt alles, wenn man fenster verschiebt ziehen diese Spuren.......was kann das sein.

Hab definitiv nicht anderes gemacht als in diesem Thread (um die Fehlerquellen zu minimieren)

Das passiert egal ob ich xhost in die bashrc eintrage oder nicht, und unabhängig davon, ob beryl läut oder nicht (zugegeben bei Beryl ist der Fehler noh krasser...................)

War ich grad froh das alles lief

----------

## borsdel

ich denke, dass das mit xhost/xauthority weniger zu tun hat.

spiel mal ein wenig mit dem vbetool rum, zB RestoreVbeState im hibernate-script.

viel glück.

jetzt weg und feiern...

----------

## curator

Hab das Problem eingeschränkt:

Es existiert nur, wenn ich mit splashfb boote, sonst gehts wie gehabt!!

Hm

----------

