使用 Ubuntu 12.10 和 nvidia 卡时,有时当机器从休眠模式恢复时,我的显示器不会重新打开。实际上,这可能不是显示器的问题,而是系统无法恢复,所以我必须重新启动。我测试了内存,它正常工作。硬盘似乎没问题。我通常会运行所有更新,希望更新可以解决问题。
有人遇到过这种情况吗?这种情况是间歇性的,连续运行后大概一周会出现两次。
答案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),因为它强制显卡使用 chvt1 和 chvt7 命令重新启动,这模拟了我以前手动使用Ctrl+ Alt+F1和Ctrl+ Alt+F7刷新 GUI 的操作。
来源:Ubuntu 论坛