Configuração de exibição incorreta usada pelo LightDM no Ubuntu 13.10 quando a tampa do laptop é fechada na estação de encaixe [duplicata]

1

Desde a atualização para o Ubuntu 13.10 no meu laptop (na verdade, para o Xubuntu quando mudei para o XFCE) estou tendo problemas com o LightDM:

Eu uso dois monitores externos (um monitor de 24 "e outro de 22") conectados à estação de acoplamento do meu laptop. Depois de instalar o driver NVIDIA 319, usei o nvidia-settings para configurar os dois monitores para usar o TwinView e as resoluções nativas corretas. Eu também armazenei esta configuração em /etc/X11/xorg.conf. No momento em que eu fizer login, minha configuração de exibição será "carregada" corretamente.

No entanto, LightDM parece ignorar minha configuração: Cada vez que a tela de login é apresentada no modo clone em vez de TwinView com uma imagem de fundo de tamanho errado (muito pequena) para a exibição de 24 ".

Como posso corrigir isso?

Atualização:

Acabei de notar que o LightDM usa a configuração de exibição incorreta (ou seja, o modo clone) somente quando a tampa do laptop é fechada na estação de encaixe . Quando mantenho a tampa do laptop aberta (mesmo com a tela do laptop desabilitada), o LightDM se comporta corretamente e usa a configuração de exibição exata conforme configurada para a minha sessão X.

Soluções para simular perguntas que envolvem o uso de xrandr em um script e a execução com a opção" display-setup-script "ou similar em o /etc/lightdm/lightdm.conf não funciona : Meu script (veja abaixo) é executado, mas a resolução não será alterada. Quando executado manualmente em uma sessão X, o script funciona perfeitamente.

Provavelmente algo está sendo substituído / imposto pelo driver da NVIDIA aqui? Eu já tentei drivers NVIDIA 304, 319 e 331 sem sucesso. Com o 13.04 o problema não ocorreu, nem precisei de um script para o LightDM.

Meu script atual (/usr/share/lightdmxrandr.sh):

#!/bin/bash
extscreens=$(xrandr -q | grep -c "DP-[02] connected")
if [[ $extscreens == 2 ]]; then
    xrandr --output DP-2 --primary --mode 1920x1200 \
           --output DP-0 --mode 1680x1050 --right-of DP-2 --output LVDS-0 --off
else
    xrandr --output LVDS-0 --mode 1280x800 --output DP-2 --off --output DP-2 --off
fi
exit 0

/etc/lightdm/lightdm.conf:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/usr/share/lightdmxrandr.sh
session-setup-script=/usr/share/lightdmxrandr.sh
greeter-setup-script=/usr/share/lightdmxrandr.sh

Solução:

Depois de mudar de Unity para XFCE, a solução foi a seguinte:

  1. Instale o padrão do LightDM para o XFCE:

    apt-get install lightdm-gtk-greeter xubuntu-default-settings

  2. Altere a linha correspondente em /etc/lightdm/lightdm.conf:

    Antes:

    [SeatDefaults]
    greeter-session=unity-greeter
    ...
    

    Depois:

    [SeatDefaults]
    greeter-session=lightdm-gtk-greeter
    ...
    

Agora todos os monitores estão configurados corretamente na tela de login do LightDM.

    
por speakr 05.11.2013 / 11:49

1 resposta

0

eu uso

session-cleanup-script=path-to-script

para iniciar meu script e funciona bem para mim ... a tela lightdm mostra a resolução correta e os monitores estão no lado correto.

tenha em mente que eu uso algo como

nvidia-settings --assign CurrentMetaMode="HDMI-1: 1280x720_60 +1920+0 {ViewPortIn=1280x720, viewportout=1240x697+20+11}, DVI-D-0: nvidia-auto-select +0+0"

e não xrandr, já que preciso também corrigir o overscan para minha TV, já que ela não tem uma opção para isso.

P.S. 13.10 mudou a localização do arquivo para um subdiretório (leia isto neste blog)

link

    
por user226798 18.12.2013 / 23:16