Sou afetado pelo erro: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/874241 Caso contrário, se como eu, você tiver um laptop conectado a um segundo monitor de maior resolução, o LIGHTDM em o estágio de login, espelha os monitores nas duas telas e atribui a eles uma resolução comum (1024X768) no meu caso, em vez de estender a área de trabalho (tela principal com o greeter e secundário com apenas um logotipo, conforme mencionado no livro de especificações do Multiple Monitors UX) para 12.04).
Aqui está o meu 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)
Tentei forçar o lightdm a executar alguns comandos xrandr para definir a resolução correta para cada monitor e estender a área de trabalho, então criei um script simples chamado /usr/share/lightdmxrand.sh :
#!/bin/sh
xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
E disse ao lightdm para executá-lo: /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
reiniciado lightdm: sudo restart lightdm
E a tela de login do unity greeter estava correta. Telas com suas respectivas resoluções corretas e se eu mover o mouse para uma tela, ele fica focado na caixa de login e no painel, enquanto a tela fora de foco apenas exibe um logotipo do Ubuntu (exatamente como especificado no livro de especificações do MM UX). Fantástico!
Esta solução alternativa funciona muito bem desde que o monitor externo esteja conectado ao laptop. Na situação em que não está conectado, no estágio de login, recebo: um BAIXO ERRO DE MODO GRÁFICO (Você está executando no modo de gráficos baixos, sua tela, dispositivos de entrada ... não foram detectados ..). Normal, porque xrandr
tenta enviar para um monitor não conectado.
A questão aqui é como devo modificar o script de uma maneira que, quando o monitor externo não estiver conectado, xrandr
saia apenas da tela do laptop e ignore qualquer monitor externo. POR EXEMPLO:
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)
Desde já, obrigado.
fonte
Descobri que, em vez de usar --mode para declarar explicitamente a resolução, --auto escolherá a melhor resolução para você (a maior que eu acredito).
fonte
Se você estiver usando o grek GTK do LightDM, poderá correr
xrandr -q
para encontrar os nomes dos seus monitores, editar/etc/lightdm/lightdm-gtk-greeter
e definir a propriedadeactive-monitor
conforme descrito nos comentários dentro desse arquivo. Essa propriedade pode receber vários valores ordenados, inclusive#cursor
para o monitor que atualmente mostra o cursor do mouse.fonte