我受到了BUG的影响:https : //bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/874241 否则,如果像我一样,您有一台笔记本电脑已连接到第二个分辨率更高的显示器LIGHTDM,在登录阶段,对两个屏幕的显示都进行镜像,并为我分配一个通用分辨率(1024X768),而不是扩展桌面(带有greeter的主屏幕,仅带有徽标的辅助屏幕,如Multiple Monitors UX规格书中所述)为12.04)。
这是我的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)
我试图强迫lightdm执行一些xrandr命令,以便为每个监视器设置正确的分辨率并扩展桌面,所以我创建了一个简单的脚本,名为/usr/share/lightdmxrand.sh:
#!/bin/sh
xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
并告诉lightdm运行它: /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
重新启动lightdm: sudo restart lightdm
统一迎宾员登录屏幕正确。具有各自正确分辨率的屏幕,如果将鼠标移至屏幕,它将通过登录框和面板获得焦点,而未聚焦的屏幕仅显示Ubuntu徽标(仅在MM UX规格书中指定)。太棒了!
只要将外接显示器连接到笔记本电脑,此解决方法就可以很好地工作。在未连接的情况下,在登录阶段,我会收到:LOW GRAPHICS MODE ERROR(您在低图形模式下运行,屏幕,输入设备...未检测到..)。正常,因为xrandr
尝试输出到未连接的监视器。
这里的问题是我应该如何修改脚本,以便在未连接外部显示器时xrandr
仅输出到笔记本电脑屏幕而忽略任何外部显示器。例如:
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)
提前致谢。