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!
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).