Je suis concerné par le BUG: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/874241 Sinon, si comme moi, vous avez un ordinateur portable connecté à un deuxième moniteur de résolution supérieure, LIGHTDM à l'étape de connexion, reflète les affichages dans les deux écrans et leur attribue une résolution commune (1024X768) dans mon cas, au lieu d'étendre le bureau (écran principal avec le plus accueillant et secondaire avec juste un logo comme mentionné dans le livre de spécifications UX de plusieurs moniteurs) pour 12.04).
Voici mon xrandr -q
@L502X:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1920 x 1848, maximum 8192 x 8192
LVDS1 connected 1366x768+309+1080 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x960 60.0
1280x800 59.8
1024x768 60.0
800x600 60.3 56.2
640x480 60.0
DP1 disconnected (normal left inverted right x axis y axis)
J'ai essayé de forcer lightdm à exécuter certaines commandes xrandr afin de définir la bonne résolution pour chaque moniteur et d'étendre le bureau, j'ai donc créé un script simple nommé /usr/share/lightdmxrand.sh :
#!/bin/sh
xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
Et a demandé à lightdm de l'exécuter: /etc/lightdm/lightdm.conf
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-setup-script=/usr/bin/numlockx on
display-setup-script=/usr/share/lightdmxrandr.sh
redémarré lightdm: sudo restart lightdm
Et l'écran de connexion de l'unité d'accueil était correct. Écrans avec leurs résolutions correctes respectives et si je déplace la souris sur un écran, il se concentre avec la boîte de connexion et le panneau, tandis que l'écran non focalisé affiche simplement un logo Ubuntu (exactement comme spécifié dans le livre de spécifications MM UX). Fantastique!
Cette solution de contournement fonctionne très bien tant que le moniteur externe est connecté à l'ordinateur portable. Dans la situation où il n'est pas connecté, au stade de la connexion, j'obtiens: une ERREUR DE MODE GRAPHIQUE BAS (Vous utilisez en mode graphique bas, votre écran, les périphériques d'entrée ... n'ont pas été détectés ..). Normal, car xrandr
essaie de sortir sur un moniteur non connecté.
La question ici est de savoir comment modifier le script de manière à ce que lorsque le moniteur externe n'est pas connecté, les xrandr
sorties ne concernent que l'écran du portable et ignorent tout moniteur externe. PAR EXEMPLE:
If (xrandr -q | grep 'HDMI1 connected') != NULL (HDMI1 is connected )
then xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
else xrandr --output LVDS1 --mode 1366x768 (or do nothing - because the resolution of the laptop screen is correct when no external monitor is connected)
Merci d'avance.
la source
J'ai trouvé qu'au lieu d'utiliser --mode pour énoncer explicitement la résolution, --auto choisira la meilleure résolution pour vous (la plus grande je crois).
la source
Si vous utilisez le greeter GTK de LightDM, vous pouvez exécuter
xrandr -q
pour trouver les noms de vos moniteurs, puis modifier/etc/lightdm/lightdm-gtk-greeter
et définir la propriétéactive-monitor
comme décrit dans les commentaires à l'intérieur de ce fichier. Cette propriété peut prendre plusieurs valeurs ordonnées, y compris#cursor
pour le moniteur qui affiche actuellement le curseur de la souris.la source