拔下/断开 Dell TB16 扩展坞后,Dell XPS 9370 唤醒时屏幕空白(Ubuntu 18.04 和 16.04)

拔下/断开 Dell TB16 扩展坞后,Dell XPS 9370 唤醒时屏幕空白(Ubuntu 18.04 和 16.04)

我买了一个新的戴尔 XPS 9730(英特尔超高清显卡 620)以及戴尔 TB16扩展坞,一切运行正常,只有当我在休眠状态下将其与 TB16 扩展坞断开连接时才可以 -当我唤醒它时,笔记本电脑打开了,但内置屏幕保持黑暗

连接到底座时,笔记本电脑盖始终处于关闭状态,输出将显示在 2 个外部戴尔显示器上(1920x1200 和 1920x1080)。但是当与端口断开连接时,输出当然只能显示在内置显示器上。当我从休眠状态唤醒系统而不改变输出源时,一切正常。此外,如果我拔掉电源后重新启动笔记本电脑,一切都会正常。我在 16.04 和 18.04 上遇到了同样的情况。

Xrandr 规格(xrandr -q):链接到图片

我正在玩一些休眠后脚本,例如/lib/systemd/system-sleep/update-displays

#!/bin/sh

# Reset monitors in case laptop was detached

set -e

echo "Checking enabled monitors"

if [ "$2" = "hibernate" ] || [ "$2" = "hybrid-sleep" ]; then
    case "$1" in
        post)
        if [xrandr -q|grep DP-1-2|egrep -v disconnected] && [xrandr -q|grep DP-2-2|egrep -v disconnected]; then
        echo "Enabling built-in monitor"
        xrandr --output eDP-1 --auto
        fi
            ;;
    esac
fi

但没有成功...也许是脚本中存在一些错误?我怀疑 xrandr 在唤醒时不会刷新并且它仍然使用“旧”配置。还有其他方法可以刷新吗?或者以某种方式调整以前的帖子脚本?

其他一切都运行良好,我非常喜欢这款笔记本电脑,只有这个问题有点令人沮丧,因为每次我从基座插入/拔出它时都必须重新启动系统。

任何帮助都将不胜感激,谢谢!

答案1

解决了。​​。我的$2参数(休眠或混合睡眠)上的事件过滤器有误。我还简化了脚本,以防其他人觉得它方便:

#!/bin/sh

# Reset xrandr at wakeup in case any display setup change was made

case "$2" in
  hibernate|suspend)
    case "$1" in
      post)
        xrandr --auto
        echo "System waking up from -$2- at $(date '+%d/%m/%Y %H:%M:%S')" >> /tmp/update-displays.txt
      ;;
    esac
  ;;
esac

在 Ubuntu 18.04 中输入/lib/systemd/system-sleepie/lib/systemd/system-sleep/update-displays并设置正确的权限(我的是 755)。

相关内容