Como posso fazer escala de lightdm em uma tela oculta?

4

Eu tenho um laptop com uma tela de 3200x1800. Quando inicializo meu laptop, o lightdm não é dimensionado para a resolução e parece minúsculo. Quando eu tranco a tela depois, o lightdm escala e parece bem. Eu encontrei este relatório de bug, mas nenhuma solução.

    
por person808 24.10.2014 / 07:48

3 respostas

3

Encontrei uma pequena correção que parece funcionar no login, mas não na tela de bloqueio. Esta solução também faz com que a barra de cima fique um pouco estragada, já que o texto é grande para os confusos - talvez um tema de costum seja a melhor solução? Também é provavelmente dependente da área de trabalho já ter definido o valor mais alto do Xft.dpi .

  1. Abra um terminal e execute xrdb -query | grep dpi
  2. Abrir /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
  3. Localizar por nome da chave="xft-dpi" type="d"
  4. Substitua o valor padrão pelo DPI da xrdb output

Isso deve entrar em vigor instantaneamente (sair mostra o texto maior do meu lado).

    
por Third3ye 17.12.2014 / 06:05
3

A solução parece estar imitando o que o aplicativo 'Screen Displays' do Ubuntu faz para escalar a interface do usuário quando você está logado. Eu rastreei as duas configurações necessárias. Eu fiz um script para definir isso automaticamente para o meu usuário quando estou logado (ou seja, não unidade-saudação), mas você pode usar as mesmas configurações para alterar unidade-saudação.

Eu tenho 2 exibições em 4K e queria que as duas ficassem com um fator de escala de 2, é assim que meu script se parece:

#!/usr/bin/env bash

set -e

# Find connected displays, we're assuming that all of the 
# connected displays will require scaling.
function createScaleFactor() {
    SCREENS=$(xrandr --query | grep " connected" | awk '{ print  }')
    FACTORS=$(for SCREEN in ${SCREENS}; do printf "'${SCREEN}': 16, "; done)

    echo "{${FACTORS::-2}}"
}

# Set both gnome and ubuntu interface scaling.
gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set com.ubuntu.user-interface scale-factor "$(createScaleFactor)"

No final, você pode ver as duas configurações que precisa mudar. Então, para mudá-los para unidade-saudação (ou seja, lightdm), você precisa estar logado como lightdm. Você pode usar o dconf-editor para fazer isso:

$ sudo xhost +SI:localuser:lightdm
$ sudo su -s /bin/bash lightdm
$ dconf-editor

Depois de ver o editor do dconf, navegue até as duas chaves no script acima e defina-as para os valores necessários. Se você executou o script acima, você pode abrir o dconf-editor normalmente e simplesmente pegar os valores que ele gerou e configurou para você e copiá-los para a instância do dconf-editor que está rodando como lightdm.

Só para colocar a cereja no topo do bolo, esta solução também não faz nada parecer estranho. A coisa toda é dimensionada corretamente, sem o texto parecer anormalmente grande para a interface do usuário ou qualquer coisa assim. Algumas das imagens não são tão nítidas quanto poderiam ser, mas você poderia personalizá-las se quisesse, e talvez elas sejam atualizadas para imagens de resolução mais alta no futuro.

Idealmente, em uma atualização futura, haverá uma opção para definir isso ou detectá-lo automaticamente (talvez de maneira semelhante a como ele define o papel de parede do usuário).

    
por Seer 29.01.2017 / 21:13
0

As outras respostas estão bem. No entanto, eles só irão dimensionar as fontes. Isso causará desalinhamento entre fontes e outros elementos. Você deve dimensionar toda a exibição. Para isso, você precisa executar um script quando o lightdm iniciar e definir o dimensionamento com o xrandr. Você pode encontrar os detalhes aqui: link

    
por yurtesen 03.10.2017 / 00:40