Redimensionnement automatique de l’affichage X11 lors de la connexion d’un moniteur externe
Question
J'ai un ordinateur portable sous Ubuntu auquel je connecte un moniteur externe lorsque je suis au bureau. Cela nécessite généralement l’exécution de xrandr --auto
afin que l’ordinateur portable puisse redimensionner l’affichage en fonction du moniteur externe. Ce serait bien si cela pouvait être fait automatiquement, soit déclenché lorsque le moniteur est connecté, mais il serait suffisant d'exécuter xrandr --auto
lorsque l'ordinateur portable sort de la suspension / veille prolongée.
J'ai créé un script /etc/pm/sleep.d/00xrandr.sh
contenant la ligne
xrandr --auto
mais cela échoue car le script n'a pas accès à l'affichage X.
Des idées?
La solution
Je pense que le problème est que le script est exécuté en tant que root, sans accès à vos données xauth. En fonction de votre configuration, cela pourrait fonctionner:
xauth merge /home/your_username/.Xauthority
export DISPLAY=:0.0
xrandr --auto
Vous pouvez utiliser quelque chose de plus astucieux pour savoir quel utilisateur vous devez extraire les données xauth si vous en avez besoin.
Autres conseils
Avez-vous essayé de définir correctement la variable DISPLAY dans le script et avez-vous autorisé d'autres utilisateurs à accéder à votre DISPLAY avec xhost + localhost? Je ne sais pas si ça aide, mais ça vaut le coup d'essayer.