解決Ubuntu 10.04 睡眠後不能喚醒的問題

首先要保證顯卡驅動能正常運行
方法一:
首先 sudo apt-get install pm-utils   ,安裝這個包。 pm-utils is a small collection of scripts that handle suspend and resume on behalf of HAL.
遇到ubuntu系統一段時間無操作後(其實terminal有在跑編譯),感覺server死掉。重新開monintor提示no signal的情況。
初步懷疑是ubuntu系統進入suspend,但是無法喚醒。在網上搜到的解決方法如下:
解決Ubuntu 10.04 睡眠後不能喚醒的問題
系統 Ubuntu
Release 10.04 (lucid)
Kernel Linux 2.6.32-21-generic
GNOME 2.30.0
臺式機
解決辦法 安裝上了laptop-mode-tools工具包
在終端中輸入下列命令來確認是否安裝。
dpkg -l | grep laptop-mode-tools
如果你的電腦執行命今後無結果輸出,那麼你可以通過下列命令來安裝。
sudo apt-get install laptop-mode-tools
雖然系統已自動安裝了laptop-mode-tools,但是是不是就自動啓動了laptop_mode模式了呢?
我們用下列命令來判斷Laptop是否啓用了laptop_mode,如果顯示結果爲0,則表示未啓動,如果爲非0的數字則表示啓動了。
cat /proc/sys/vm/laptop_mode
怎樣啓動laptop_mode模式呢?
1.修改配置文件/etc/default/acpi-support,更改ENABLE_LAPTOP_MODE=true
sudo gedit /etc/default/acpi-support 2.
然後在默認情況下UBUNTU系統會在你切換電源到電池供電時啓動laptop_mode,
如果你現在就想啓動laptop_mode模式,請直接在終端中輸入 sudo laptop_mode start啓動了laptop_mode之後,在ubuntu掛起後,基本上就不會遇到無法喚醒的情況了
注意:本人測試沒有找到 ENABLE_LAPTOP_MODE=true 被註釋的項.看到文件最後一行的提示 找另一文件 屬於高級選項 sudo gedit /etc/laptop-mode/laptop-mode.conf 看到三個選項 ENABLE_LAPTOP_MODE_ON_BATTERY=1
ENABLE_LAPTOP_MODE_ON_AC=1
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=1 看註釋大體明白什麼意思 當用電池,外接電源,合上顯示屏的時候怎麼是否啓用 LAPTOP_MODE
全部設置爲 1 OK!!
當然可以使用上面的命令啓動或關閉或重啓. 問題解決
方法二:
方法:
一、打開終端在/etc/pm/sleep.d/建立20_custom-ehci_hcd文件
sudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd
二、複製下面代碼到文件裏保存並退出
#!/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
三、改變20_custom-ehci_hcd文件權限
sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
四、重啓
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章