Ubuntu не восстановится после спящего режима

С Ubuntu 12.10 и картой nvidia мой монитор иногда не включается, когда машина возвращается из режима гибернации. На самом деле это может быть не монитор, но система не восстановится, поэтому мне нужно перезагрузиться. Я проверил память, и это работает. Жесткий диск, кажется, в порядке. Я обычно запускаю все обновления, надеюсь, обновление решит проблему.

Кто-нибудь испытывал это? Это прерывисто, возможно, два раза в неделю после непрерывной работы.

0
задан 9 March 2013 в 23:17

1 ответ

Может быть, это поможет вам, это обходной путь

Привет! Наконец, после долгого поиска и возни, я нашел временное решение, пока эта ошибка не будет исправлена ​​в будущих выпусках ядра. См. Ниже:

Используйте этот сценарий только в том случае, если у вас возникли проблемы с выходом из режима ожидания / приостановки в Ubuntu 12.04 LTS, и экран остается светящимся, но черным, когда вы просыпаетесь.

  • Шаг 1:
    Откройте терминал и создайте файл сценария следующим образом:

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

  • Шаг 2:
    Скопируйте весь сценарий ниже в только что созданный файл и сохраните его:

    #!/bin/sh
    #inspired by http://art.ubuntuforums.org/showpost...0&postcount=19
    #...and http://thecodecentral.com/2011/01/18...ot-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
    #for bus in $EHCI_BUSES; do
    echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
    # done
    done
    }
    bindDev() {
    if [ -s $DEV_LIST ]; then
    while read driver dev; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    #for bus in $EHCI_BUSES; do
    echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
    #done
    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
    chvt 1
    chvt 7
    }
    EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
    case "$1" in
    hibernate|suspend)
    unbindDev;;
    resume|thaw)
    bindDev;;
    esac
    Step 3:
    Give the script run permissions by typing:
    sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
    

Этот скрипт должен работать или ваши деньги гарантированы (шутка, это проект с открытым исходным кодом, поэтому используйте на свой страх и риск: P), так как он заставляет графическую карту перезагружать iself, используя старый добрый удар от команд chvt1 и chvt7, которые имитируют то, что я раньше делали это вручную, используя Ctrl + Alt + F1 и Ctrl + Alt + F7 для обновления графического интерфейса.

Источник: Форумы Ubuntu

0
ответ дан 9 March 2013 в 23:17

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

Похожие вопросы: