Як налагодити проблему призупинення?


11

У мене раніше на цьому HP Compaq 610 була встановлена ​​Fedora 14, і функція призупинення спрацювала чудово. Тепер, коли я встановив Scientific Linux 6.1 призупинення більше не працює. Як відлагодити / виправити це?


Це призупинення роботи оболонки (<kbd> Cntl-z </kbd>) чи ОС (сон або сплячий режим)?
Арседж

@Arcege: Я б припустив, що він мав на увазі припинити ACPI, оскільки це стало такою поширеною проблемою в наші дні.
Дж. М. Бекер

Відповіді:


9

Існує багато способів поводження з можливостями зупинки та сплячки, багато старих методів застарілі. Це ускладнило пошук рішень, оскільки, здається, кожне рішення абсолютно не пов'язане з наступним. З урахуванням сказаного ...

Наразі рекомендований метод, який застосовується на веб-сайті http://pm-utils.freedesktop.org/wiki/ , повинен бути доступний для останніх розповсюджень. Я спершу перевіряю, чи pm-utilsвстановлено ви , і чи включені команди працюють, як очікувалося.

Перевірте, чи встановлений пакет, введіть цю команду в термінал

rpm -qa | grep pm-utils

Це повинно вивести встановлену вами версію. Якщо ви не отримаєте очікуваного результату, вам потрібно встановити пакет.

sudo yum install pm-utils

Як тільки ви перевірите це, перевіріть свою здатність до призупинення.

sudo pm-suspend

Якщо ви не призупиняєте та не отримуєте жодного результату, перевірте останній вихід dmesg

dmesg | tail -50

Це повинно допомогти розпочати роботу, як тільки ви знайдете підказки, набагато простіше піти далі по стежці. Повідомте назад із коментарями стосовно ваших результатів, я можу вас переконати.


Я навіть встановив pm-utils-devel. pm-suspend з користувачем root робить те саме, що і з звичайним користувачем, коли він клацає в GNOME / menu-> suspend-> нічого, машина просто каже "мережа вимкнена", тоді вона просто чекає і чекає тощо. Я можу Не починаю нічого після того, як я намагаюся призупинити. Я побачу dmesg пізніше, дякую!
LanceBaynes

dmesgВихід покаже вам , що відбувається за сценою. Що ще важливіше, що, зокрема, може бути невдалим. O і BTW, вам не потрібен пакет розробок. Вони вам потрібні лише при складанні коду, тому сміливо чистіть. Сюди можна дістатись багато напрямків, я просто не надсилаю вам гавкати неправильне дерево.
Дж. М. Беккер

1
@LanceBaynes Ви спробували запускати pm-suspendкоманди з оболонки, а не через меню GNOME? Спробуйте echo -n "mem" >/sys/power/stateяк корінь. Також якщо ви користуєтесь, acpiви можете acpi_listenдізнатися, які події створюються, наприклад, після закриття кришки.

WOW, wtf? Я "echo -n" mem "> / sys / power / state" з користувачем root, а мій фактично призупинено !!!! ОГО. Єдина проблема полягає в тому, що коли я роблю такий вид призупинення, заставка заставки gnome не запускається, і залишає мені розблокований ПК. Як обійти це? Як я можу зробити сценарій / що завгодно, щоб звичайний користувач міг також використовувати такий тип призупинення? не тільки користувач root? - і ще одне: ДЯКУЙТЕ!
LanceBaynes

2
@LanceBaynes: Його зараз працює? ... Раніше я вірив, що подібний "сюрприз" "Перерва / ремонт" траплявся лише з Widoze. На жаль, я на деякий час перестав це вірити. Але ... зі світлого боку, це трапляється рідше! І ваше призупинення працює, тож це чудова новина!
Дж. М. Беккер

8

Спробуйте це як корінь:

PM_DEBUG=true pm-suspend

Потім перевірте, чи немає /var/log/pm-suspend.logпідказок, що може піти не так.

Якщо ви можете призупинити, але не відновити, є добра стаття на вікі Ubuntu про те, як налагодити цю проблему.


2

Якщо ви хочете отримати лише тоді, коли ви призупинили / відновили систему, ви можете спробувати це:

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed";
Feb  7 10:44:23 dmatej-lenovo systemd-sleep[19900]: Suspending system...
Feb  7 10:44:33 dmatej-lenovo systemd-sleep[19900]: System resumed.
Feb  7 10:45:35 dmatej-lenovo systemd-sleep[20707]: Suspending system...
Feb  7 12:58:39 dmatej-lenovo systemd-sleep[20707]: System resumed.
Feb  7 14:42:55 dmatej-lenovo systemd-sleep[24690]: Suspending system...
Feb  7 16:31:57 dmatej-lenovo systemd-sleep[24690]: System resumed.

1

Як пропонує Міка, як корінь:

PM_DEBUG=true pm-suspend

Деталі в межах:

/var/log/pm-suspend.log

У цьому випадку ви шукаєте, де

[...] service [servicename] suspend suspend success

кінців, і

[...] service [servicename] suspend resume success

починається. Десь між ними ви можете виявити помилку повернення дзвінків, після чого призупинення зупинено. У цьому випадку у вас можуть бути призупинені зміни, які повертаються назад. З’ясуйте, який виклик служби кидає помилку, відкрийте її in vi та подивіться на неї.

У мене була та ж проблема , де після установки xboxdrvна Ubuntu 12.04, виклик, внесений в правилі в /etc/pm/sleep.d/намагається зупинити службу , яка ніколи не почалася або неіснуючі, в цьому випадку xboxdrv. Виявляється, його ніколи не можна було запустити, оскільки /lib/modules/uinput.koмодуля не було , оскільки цей модуль об'єднаний у ядро. Це призвело до того, що в заяві справи /etc/pm/sleep.d/xboxdrvвиникло помилка, коли вона відповідає "призупиненню" виклику service xboxdrv stop. Попередньо попереджуючи рядок з #обхідним висловом, за рахунок відключення та повторного підключення контролера до призупинення, потім відновіть.


У мене немає помилок у журналі налагодження після запуску цього, але магічно він знову почав працювати ;-) Мені цікаво, чи є це постійне виправлення ...
Wirone
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.