Esta é uma versão atualizada da minha resposta anterior, relacionada ao Ubuntu 12.04. Em 16.04 (Xenial), são necessárias 3 etapas para definir o DPI corretamente em vez de 2.
Vou explicar o exemplo do sistema com o Ubuntu 12.04 com o Gnome Classic e um monitor com resolução de 1680x1050. Minhas configurações iniciais: xdpyinfo | grep dots
reportado 96x96 dots
, xrdb -query | grep dpi
reportado Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
reportou algumas configurações estranhas NOUVEAU(0): DPI set to (90, 88)
.
Em 16.04, os resultados de todos esses 3 comandos eram consistentes e eram iguais a 96. Embora tal consenso seja melhor que o distúrbio de 12.04, o valor relatado é codificado e distante do valor real de DPI.
Vamos calcular o DPI ideal para o meu monitor. O tamanho real da tela pode ser encontrado com o comando xrandr | grep -w connected
(converter saída em centímetros) ou com uma régua longa à mão. No meu caso: X = 47.4cm
; %código%. Divida-os por 2,54 para obter o tamanho em polegadas: Y = 29.6cm
; %código%. Por fim, divida a quantidade real de pontos (com base na sua resolução) pelo tamanho em polegadas: X ~ 18.66in
; %código%. Então, meu dpi real é 90.
Esteja avisado , o método manual de medição pode ser mais preciso do que a saída do comando Y ~ 11.65in
porque as versões mais recentes do servidor X ignoram o tamanho relatado pelo EDID e calculam o tamanho usando a resolução da tela e um valor codificado do DPI (mais informações aqui ). < br>
Outro método como encontrar o tamanho do monitor é ler seu EDID diretamente. Instale o pacote X = 1680/18.66 ~ 90dpi
e execute o comando Y = 1050/11.65 ~ 90dpi
no terminal. Sua saída lhe dará o tamanho real do seu monitor em milímetros. Se não, use a régua.
Vamos começar a corrigir o DPI:
1) Em 12.04, execute xrandr | grep -w connected
, abra read-edid
e adicione um parâmetro na seção sudo get-edid | parse-edid | grep DisplaySize
:
xserver-command=X -dpi 90
Não existe esse arquivo em 16.04 por padrão, portanto, você deve criar gksudo gedit
manualmente e colocá-lo em /etc/lightdm/lightdm.conf
. O conteúdo deste arquivo é o mesmo:
[SeatDefaults]
xserver-command=X -dpi 90
Reinicie o computador ou reinicie o X. Agora, [SeatDefaults]
mostrará a configuração desejada.
2) Na minha resposta anterior, propus-me criar um arquivo em lightdm.conf
contendo a string /etc/lightdm/lightdm.conf.d/
. Isso funcionou em 12.04, mas em 16.04 essa configuração não é persistente. Nos sistemas mais novos, podemos adicionar o valor desejado no início da sessão. Executar "Startup Applications", pressione o botão "Adicionar", nomeie-o "Fix DPI" e defina o comando grep DPI /var/log/Xorg.0.log
no campo. Salve as alterações e faça o login novamente. Agora /etc/X11/Xsession.d/
reportará xrandr --dpi 90
.
Se xrandr --dpi 90
ainda mostrar 96, adicione um tempo limite antes de executar xdpyinfo | grep dots
. Edite o comando em "Startup Applications" e mude para:
bash -c "sleep 15; xrandr --dpi 90"
A etapa 2 é opcional para 12.04 porque em sistemas mais antigos a Etapa 1 corrige os valores 90x90 dots
e xdpyinfo
.
3) Na configuração de DPI do GNOME3 é codificado para 96 e não pode ser alterado diretamente, mas o texto pode ser dimensionado em vez disso. Calcule o multiplicador desejado: xrandr
(no meu caso Xorg.0.log
). Agora execute o comando (ou use xdpyinfo
se você preferir):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
As alterações serão aplicadas de uma só vez. desired_DPI / 96
reportará o 90/96 = 0.9375
desejado.
PS Existe outro método para corrigir a configuração de DPI, que é muito mais difícil e é descrito em este guia . Eu tentei também e o resultado foi o mesmo (pelo menos em 12.04).
Posfácio: Somente os desenvolvedores do Ubuntu podem dizer com certeza se os valores modificados pelos Passos 1 & amp; 2 realmente importam no Ubuntu moderno ou são silenciosamente ignorados. Apenas o passo 3 produz as alterações que são instantaneamente visíveis. Aqueles usuários que consideram que determinados aplicativos ainda podem confiar nas configurações do servidor X são encorajados a executar todas as 3 etapas descritas acima. Para o resto, o Passo 3 é suficiente - essa é a única forma de personalização adotada nas distribuições modernas do Ubuntu.