
Я знаю, что выход из спящего режима — проблема, но это похоже на отдельную ошибку.
Когда я приостанавливаю 13.10 на HP Pavillion dv6 (AMD 6770M/fglrx 13.10.10) из x, он нормально приостанавливается, но зависает при пробуждении. Я получаю черный экран с замороженным курсором.
Но когда я перехожу в режим ожидания из консоли с помощью sudo pm-suspend, он нормально просыпается, и я могу вернуть свой x с помощью Ctrl++ Alt.F7
Если я приостанавливаю, закрывая крышку под x, также зависает при пробуждении. Если я приостанавливаю, закрывая крышку под console, он просыпается в x (?) login, затем в чистый сеанс.
ОБНОВЛЕНИЕ. Я проверил свой syslog, kern.log и pm-suspend.log, они, похоже, показывают стандартную процедуру приостановки, которая завершается нормально, затем следует много пустых строк (000), затем обычная процедура запуска после жесткого сброса. Я могу ошибаться, но мне кажется, что это kernel panic.
Кроме того, если я приостанавливаю работу с помощью dbus (Как можно приостановить/перевести в спящий режим из командной строки?) вместо pm-suspend, результат тот же.
решение1
Кажется, у меня та же проблема, и с помощью вашего тестирования я нашел обходной путь. Создайте скрипт, который переключается на консоль перед приостановкой и переключается обратно после возобновления.
В терминале запустите sudoedit /etc/pm/sleep.d/fglrx-fix
и вставьте следующий скрипт. После этого сделайте его исполняемым, запустивsudo chmod u+x /etc/pm/sleep.d/fglrx-fix
Сценарий:
#!/bin/bash
#Script kills autofs when going into standby to eliminate issues with it
case $1 in
suspend)
#suspending to RAM
chvt 1
echo "Going to sleep"
sleep 1
;;
resume)
#resume from suspend
echo "try to resume"
sleep 1
chvt 7
;;
esac
решение2
Ответ Яна сработал для меня идеально, но проблема все равно возникала в спящем режиме. Чтобы исправить это, я немного изменил скрипт:
#!/bin/bash
#Script kills autofs when going into standby to eliminate issues with it
case $1 in
suspend|hibernate) # instead of just "suspend"
#suspending to RAM
chvt 1
echo "Going to sleep"
sleep 1
;;
resume|thaw) # instead of just "resume"
#resume from suspend
echo "try to resume"
sleep 1
chvt 7
;;
esac