Estou me deparando com um daqueles problemas que acontecem de forma inconsistente e, portanto, são difíceis de replicar, até mesmo para mim.
Tenho uma tela 4K (3840x2160) e estou usando o escalonamento HiDPI sempre que possível, com um fator de 2. Porém, como estou executando uma configuração personalizada combinando o Xfce (para o painel, configurações e gerenciador de sessão) com bspwm (gerenciador de janelas lado a lado) e picom (sucessor espiritual de Compton como compositor), normalmente tenho que sujar um pouco as mãos para escalar aplicações Qt. As configurações do Xfce controlam apenas aplicativos GTK.
Para habilitar o escalonamento do Qt, normalmente sigoo wiki do Arco, adicionando export QT_SCALE_FACTOR=2
my .bashrc
ou tentando as alternativas ( QT_AUTO_SCREEN_SCALE_FACTOR
, QT_SCREEN_SCALE_FACTORS
) até funcionar. E funcionou quando eu estava executando o Ubuntu 20.04.
No entanto, desde que migrei para o Debian 11 "Bullseye", o escalonamento do Qt agora é inconsistente por sessão. Quando funciona, funciona perfeitamente, para todas as aplicações. Mas outras vezes, não funciona de jeito nenhum. Parece que tenho que reiniciar até começar a trabalhar. E é como um cara ou coroa, ambos os resultados aparecem com relativa frequência.
Como solução alternativa, posso especificar a variável de ambiente localmente, ao iniciar o aplicativo, em vez de executá-lo globalmente. Por exemplo, env QT_SCALE_FACTOR=2 qpdfview
inicia o qpdfview com escala apropriada.
É claro que isso não é conveniente e prefiro que a variável de ambiente global, definida em .bashrc
, se comporte como deveria. .bash_profile
A propósito, também tentei criar um , mas isso não melhorou a situação.
Então o que está acontecendo? Estou suspeitando de problemas com a ordem de partida. Mesmo quando não recebo minha escala, printenv
mostra que QT_SCALE_FACTOR
(ou qualquer alternativa) está listada... então está lá, mas algo deve estar mexendo com isso. Estou mencionando a ordem inicial, pois minha configuração (reconhecidamente incomum) é aparentemente sensível a quais processos já estão (ou não) em execução; às vezes (raramente), estou inicializando em um painel bagunçado e em janelas que não podem ocupar mais de um quarto da tela. Então eu simplesmente reinicio e está tudo bem.
De qualquer forma, eu apreciaria sua ajuda. Desde já, obrigado!
EDITAR: problema resolvido! Lightdm foi o perpetrador. Como explicadoaqui, .bashrc
e os arquivos relacionados não são obtidos ao efetuar login no lightdm, pois a exibição não é iniciada pelo shell. Lightdm analisa alguns arquivos para iniciar scripts e é aqui que você pode armazenar variáveis de ambiente. O nome exato pode depender da distro. Archwiki diz ~/.xprofile
, masno Debianvocê usaria ~/.xsessionrc
.
Então, criei ~/.xsessionrc
contendo export QT_SCALE_FACTOR=2
e agora funciona.