web-dev-qa-db-fra.com

Écran vierge Dell XPS 9370 au réveil après le débranchement / débranchement de la station d'accueil Dell TB16 (Ubuntu 18.04 et 16.04)

J'ai acheté un nouveau Dell XPS 9730 (Intel UHD Graphics 620) avec Dell TB16 station d'accueil, et tout fonctionne parfaitement, uniquement lorsque je le déconnecte de la station d'accueil TB16 en veille prolongée - lorsque je le réveille, l'ordinateur portable s'allume, mais l'écran intégré reste sombre .

Lorsqu'il est connecté à la station d'accueil, le couvercle de l'ordinateur portable est fermé à tout moment et la sortie est affichée sur 2 moniteurs Dell externes (1920x1200 et 1920x1080). Mais lorsqu'il est déconnecté du port, la sortie ne doit être affichée que sur l'affichage intégré. Lorsque le système sort de l'hibernation sans changer de source, tout fonctionne correctement . De plus, si je redémarre l'ordinateur portable après l'avoir débranché, tout fonctionne correctement. J'ai le même comportement le 16.04 et le 18.04.

Spécifications Xrandr (xrandr -q): lien vers l'image

Je jouais un peu avec le post script Hibernate comme /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

Mais sans succès ... Peut-être quelques erreurs dans les scripts? Je soupçonne que xrandr ne se régénère pas au réveil et qu'il utilise encore la "vieille" configuration. Y a-t-il un autre moyen de l'actualiser? Ou pour ajuster le script de post précédent d'une manière ou d'une autre?

Tout le reste fonctionne parfaitement et j'aime beaucoup l'ordinateur portable, seulement ce problème est un peu frustrant, car je dois redémarrer le système chaque fois que je le branche/le débranche du dock.

Toute aide serait grandement appréciée, merci!

4
urko99

J'ai résolu le problème. Le filtre d'événements sur le paramètre $2 (veille prolongée ou hybride-sommeil) était incorrect. J'ai également simplifié le script au cas où quelqu'un le trouverait utile:

#!/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

Dans Ubuntu 18.04, mettez /lib/systemd/system-sleep c'est-à-dire /lib/systemd/system-sleep/update-displays et définissez les autorisations appropriées (le mien était de 755).

1
urko99