Qt 스케일링 전역 환경 변수가 일관되게 작동하지 않습니다.

Qt 스케일링 전역 환경 변수가 일관되게 작동하지 않습니다.

일관되지 않게 발생하여 재현하기 어려운 문제 중 하나에 직면했습니다. 나에게도 마찬가지입니다.

나는 4K(3840x2160) 화면을 가지고 있고 가능할 때마다 HiDPI 스케일링을 2배로 사용하고 있습니다. 그러나 Xfce(패널, 설정 및 세션 관리자용)와 bspwm을 결합한 사용자 정의 설정을 실행하고 있기 때문에 (타일링 창 관리자) 및 piccom(컴포지터로서 compton의 영적 후계자), 일반적으로 Qt 애플리케이션을 확장하려면 손을 조금 더럽혀야 합니다. Xfce 설정은 GTK 응용 프로그램만 제어합니다.

Qt 스케일링을 활성화하려면 일반적으로 다음을 따릅니다.아치 위키, 작동할 때까지 대안( , )을 export QT_SCALE_FACTOR=2추가 하거나 시도해 보세요. 그리고 Ubuntu 20.04를 실행할 때 작업이 수행되었습니다..bashrcQT_AUTO_SCREEN_SCALE_FACTORQT_SCREEN_SCALE_FACTORS

그러나 Debian 11 "Bullseye"로 마이그레이션한 이후 Qt 스케일링이 이제 세션 단위로 일관되지 않습니다. 작동하면 모든 응용 프로그램에 대해 잘 작동합니다. 그러나 다른 때에는 전혀 작동하지 않습니다. 일할 때까지 재부팅해야 할 것 같습니다. 그리고 그것은 동전 뒤집기와 같습니다. 두 결과 모두 상대적으로 자주 나타납니다.

해결 방법으로 애플리케이션을 전역적으로 실행하는 대신 애플리케이션을 시작할 때 로컬로 환경 변수를 지정할 수 있습니다. 예를 들어, env QT_SCALE_FACTOR=2 qpdfview적절한 크기 조정으로 qpdfview를 시작합니다.

물론 이는 편리하지 않으며 에 정의된 전역 환경 변수가 .bashrc제대로 작동하도록 하는 것이 좋습니다. .bash_profile그런데 대신 생성을 시도했지만 상황이 개선되지 않았습니다.

무슨 일이죠? 시작 순서에 문제가 있는 것으로 의심됩니다. 스케일링을 얻지 못한 경우에도 (또는 다른 대안)이 나열되어 있음 printenv을 보여줍니다 . 따라서 거기에 있지만 뭔가 문제가 있는 것 같습니다. QT_SCALE_FACTOR내 (분명히 특이한) 설정은 어떤 프로세스가 이미 실행 중인지 여부에 민감하기 때문에 시작 순서를 언급하고 있습니다. 가끔(드물지만) 화면의 1/4 이상을 차지하지 못하는 엉망진창 패널과 창으로 부팅하는 경우가 있습니다. 그래서 그냥 재부팅하니 괜찮아지네요.

어쨌든, 당신의 도움에 감사드립니다. 미리 감사드립니다!


편집: 문제가 해결되었습니다! Lightdm이 가해자였습니다. 설명대로여기, .bashrc디스플레이가 셸에서 시작되지 않기 때문에 lightdm에서 로그인할 때 관련 파일이 소싱되지 않습니다. Lightdm은 스크립트 시작을 위해 몇 가지 파일을 구문 분석하며 여기에 환경 변수를 저장할 수 있습니다. 정확한 이름은 배포판에 따라 다를 수 있습니다. Archwiki는 다음과 같이 말합니다 ~/.xprofile. 그러나데비안에서당신은 사용할 것입니다 ~/.xsessionrc.

그래서 나는 ~/.xsessionrc포함을 만들었고 export QT_SCALE_FACTOR=2이제는 작동합니다.

관련 정보