Esta é uma versão atualizada da minha resposta anterior, relacionada ao Ubuntu 12.04. Na 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 Gnome Classic e um monitor com resolução 1680x1050. Minhas configurações iniciais: xdpyinfo | grep dots
relatadas 96x96 dots
, xrdb -query | grep dpi
relatadas Xft.dpi: 96
, grep DPI /var/log/Xorg.0.log
relataram algumas configurações estranhas NOUVEAU(0): DPI set to (90, 88)
.
Em 16.04, as saídas de todos esses três comandos eram consistentes e iguais a 96. Embora esse consenso seja melhor que o distúrbio de 12.04, o valor relatado é codificado permanentemente e longe 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 a saída em centímetros) ou com uma régua longa à mão. No meu caso X = 47.4cm
:; Y = 29.6cm
. Divida-os por 2,54 para obter o tamanho em polegadas X ~ 18.66in
:; Y ~ 11.65in
. Por fim, divida a quantidade real de pontos (com base na sua resolução) pelo tamanho em polegadas X = 1680/18.66 ~ 90dpi
:; Y = 1050/11.65 ~ 90dpi
. Então, meu dpi real é 90.
Esteja avisado de que o método manual de medição pode ser mais preciso do que a saída do comando, xrandr | grep -w connected
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 de DPI (mais informações aqui )
Outro método para encontrar o tamanho do monitor é ler seu EDID diretamente. Instale o read-edid
pacote e execute o comando sudo get-edid | parse-edid | grep DisplaySize
no terminal. Sua saída fornecerá o tamanho real do seu monitor em milímetros. Caso contrário - use a régua.
Vamos começar a corrigir o DPI:
1) Na execução de 12.04 gksudo gedit
, abra /etc/lightdm/lightdm.conf
e adicione um parâmetro na [SeatDefaults]
seção:
xserver-command=X -dpi 90
Por padrão, não existe esse arquivo no 16.04; portanto, você deve criar lightdm.conf
manualmente e colocá-lo /etc/lightdm/lightdm.conf.d/
. O conteúdo deste arquivo é o mesmo:
[SeatDefaults]
xserver-command=X -dpi 90
Reinicie o computador ou reinicie o X. Agora, grep DPI /var/log/Xorg.0.log
será exibida a configuração desejada.
2) Na minha resposta anterior, propus criar um arquivo /etc/X11/Xsession.d/
contendo string xrandr --dpi 90
. Isso funcionou no 12.04, mas no 16.04 essa configuração não é persistente. Em sistemas mais novos, podemos adicionar o valor desejado no início da sessão. Execute "Aplicativos de inicialização", pressione o botão "Adicionar", nomeie "Fix DPI" e defina o comando xrandr --dpi 90
no campo. Salve as alterações e faça login novamente. Agora xdpyinfo | grep dots
irá relatar 90x90 dots
.
Se xdpyinfo
ainda mostrar 96, adicione um tempo limite antes de executar xrandr
. Edite o comando em "Aplicativos de Inicialização" e altere-o para:
bash -c "sleep 15; xrandr --dpi 90"
Referência
A etapa 2 é opcional para 12.04, porque em sistemas mais antigos a etapa 1 corrige valores Xorg.0.log
e xdpyinfo
valores.
3) No GNOME3, a configuração de DPI é codificada para 96 e não pode ser alterada diretamente, mas o texto pode ser redimensionado. Calcule o multiplicador desejado: desired_DPI / 96
(no meu caso 90/96 = 0.9375
). Agora execute o comando (ou use dconf
se você preferir):
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
As alterações serão aplicadas de uma só vez. xrdb -query | grep dpi
relatará o desejado Xft.dpi: 90
.
PS Existe outro método para corrigir a configuração de DPI, que é muito mais difícil e é descrita neste 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 pelas etapas 1 e 2 realmente importam no Ubuntu moderno ou são ignorados silenciosamente. Somente a Etapa 3 produz as alterações que são instantaneamente perceptíveis. Os usuários que consideram que certos aplicativos ainda podem depender das configurações do servidor X são incentivados a executar as três etapas descritas acima. Quanto ao resto, a Etapa 3 é suficiente - essa é a única maneira de personalização adotada nas distribuições modernas do Ubuntu.