Shutdown / suspend / hibernate não está funcionando corretamente

6

Estou usando o Ubuntu 11.10 e tudo ficou bem até poucos dias eu tento shutdown meu laptop, mas o Ubuntu vai para a tela de login lightgdm .

Além disso, suspend e hibernate não são concluídos:

  • no caso suspenso, preciso reiniciar meu laptop e
  • no modo de hibernação, preciso desligá-lo usando o botão liga / desliga.
por eyadof 29.10.2011 / 00:20

3 respostas

2

(comentário da questão resolvida pelo OP)

Eu compilei um novo kernel e o problema desapareceu :) obrigado a todos. - eyadof 9 de março às 15:25

    
por Ringtail 03.04.2012 / 01:15
0

Outra possibilidade - o hibernate usa sua partição swap, e isso precisa ser grande o suficiente para caber toda a sua memória RAM. Eu tenho 8GB de RAM, mas apenas 1GB de swap, então esse poderia ser o problema.

link

[editar] - Bem, eu tentei isso, certificando-se que eu tinha muita troca de 10GB para o meu 8GB de RAM - não ajuda ...

    
por hwjp 11.11.2011 / 00:20
0

Eu encontrei isso, o que parece funcionar para algumas pessoas - mas não para mim ...

link

gksudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd 

ou do jeito que você faria normalmente ao criar um arquivo como superusuário

Insira o seguinte código no arquivo que você acabou de criar:

#!/bin/sh
#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
#...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug    
# tidied by tqzzaa :)

VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1

unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
  for driver in $DRIVERS; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    for dev in 'ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"'; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    done
  done
}

bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      DDIR=$DRIVERS_DIR/${driver}_hcd
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
          else
            break
          fi
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      done  
    done < $DEV_LIST
  fi
  rm $DEV_LIST 2>/dev/null
}

case "" in
  hibernate|suspend) unbindDev;;
  resume|thaw)       bindDev;;
esac

é isso pessoal, ymmv, não funcionou para mim. veja o link original para mais informações.

link

    
por hwjp 10.11.2011 / 19:09