Вся система замерзает после нажатия "Приостановить"

Так что я только что установил Ubuntu, и мне это нравится. Я не думаю, что он заменит Windows 7 для меня, и у него есть несколько проблем, которые я, вероятно, в конечном итоге исправлю, когда пойму, как использовать WINE, но это все еще круто.

Моя главная проблема сейчас заключается в том, что когда я ставлю Ubuntu для приостановки, все зависает. Монитор все еще включен, но только черный, и никакой реакции на кнопки нет.

Хотя я не против нажать кнопку "Завершение работы", поскольку Ubuntu загружается довольно быстро по сравнению с Windows 7, это может раздражать и доставлять неудобства.

Спасибо за любую помощь!

4 ответа

Хорошо, после небольшой работы я изменил надписи выше из других предложений. Спасибо @wangdw! Вот следующий сценарий с плохой задницей (не забывайте, как и прежде, создать файл с помощью sudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd, а также установить права на чтение с помощью sudo chmod 755 / etc / pm / sleep.d / 20_custom-ehci_hcd):

  #! / Bin / ш
  #inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
  #... и http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug    
  # Приведено в порядок tqzzaa:)

  Версия =1.1
  DEV_LIST=/ TMP / USB-DEV-лист
  DRIVERS_DIR=/ SYS / автобус / PCI / драйверы
  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



  для водителя в $DRIVERS; делать
    DDIR=$DRIVERS_DIR/${водитель}_hcd
    для dev в `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; делать
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    сделанный

  # для автобуса в $EHCI_BUSES; делать
     echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
 # сделанный   

  сделанный

}

bindDev () {
  if [-s $ DEV_LIST]; затем
    пока читал драйвер dev; делать
      DDIR=$DRIVERS_DIR/${водитель}_hcd
      # для автобуса в $EHCI_BUSES; делать
          echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
      #сделанный
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; делать
          echo -n "$dev" > $DDIR/bind
          если [! -L "$DDIR/$dev" ]; затем
            спать $BIND_WAIT
          еще
            перерыв
          фи
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      сделанный 


    сделано / dev / null

  ЧВТ 1
  ЧВТ 7
}



  EHCI_BUSES = "0000: 00: 1a.0 0000: 00: 1d.0"
  дело "$ 1" в
    спящий режим | приостановить)
    unbindDev;;

    резюме | оттепель)
    bindDev;;

    ESAC

Я испытывал ту же проблему. Кажется, что Ubuntu пытается приостановить себя, но некоторые аппаратные средства не хотят соответствовать. Вот некоторые ремонты, которые могут работать:

1. open a terminal by holding ctrl+alt+t;
2. type: sudo gedit /etc/pm/sleep.d/20_custom-suspend;
3. press Enter and authenticate;
4. put the following text into the created file; save it and exit. 
5. reboot and see if it works. 

Этот маленький сценарий происходит из Интернета, но я не могу найти источник...

EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
case "${1}" in
    hibernate|suspend)
        # Switch USB buses off
        for bus in $EHCI_BUSES; do
            echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
        done
        ;;
    resume|thaw)
        # Switch USB buses back on
        for bus in $EHCI_BUSES; do
            echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
        done
        ;;
esac

Пожалуйста, попробуйте это и расскажите мне свои выводы!

Если этот скрипт не работает, вы можете попробовать другой:

#!/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 "$1" in
  hibernate|suspend) unbindDev;;
  resume|thaw)       bindDev;;
esac

У меня та же проблема. попробуйте это: http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug работать как обаяние для меня...

Я обнаружил, что установка пакета "dell firmware addon" исправила проблему во время цикла разработки.

Другие вопросы по тегам