Qt スケーリング グローバル環境変数が一貫して動作しません。

Qt スケーリング グローバル環境変数が一貫して動作しません。

これらのうちの1つが一貫していないという問題があるので、私にも複製するのは難しいです。

私は4K(3840x2160)画面を持っているので、可能な限りHiDPIスケーリングを2倍にします。しかし、私はXfce(パネル、設定、およびセッションマネージャ用)とbspwm(タイリングウィンドウマネージャ)とpiccom(ComptonのComptonの精神的な後続製品)を組み合わせたカスタム設定を実行しているため、しばしば直接実行する必要があります。 Qtアプリケーションを拡張します。 Xfce設定はGTKアプリケーションのみを制御します。

Qt スケーリングをイネーブルにするには、通常次のようにします。アーチウィキ、うまくいくまでexport QT_SCALE_FACTOR=2私を追加する.bashrcか、代わりに(QT_AUTO_SCREEN_SCALE_FACTOR、)を試してください。QT_SCREEN_SCALE_FACTORSUbuntu 20.04を実行すると、タスクが実行されます。

しかし、Debian 11 "Bullseye"に移行した後、Qtスケーリングはセッションごとに一貫していません。うまくいけば、すべてのアプリケーションでうまく機能します。しかし、他の時にはまったく機能しません。動作を開始する前に再起動する必要があるようです。これはコインを投げるのと同じです。両方の結果が比較的頻繁に発生します。

回避策として、アプリケーションをグローバルに実行するのではなく、アプリケーションを起動するときにローカルに環境変数を指定できます。たとえば、env QT_SCALE_FACTOR=2 qpdfview適切なサイズ変更でqpdfviewを起動するかどうかです。

これはもちろん不便であり、定義されたグローバル環境変数に.bashrc期待される操作を実行させることをお勧めします。.bash_profileとにかく代替案を作成しましたが、状況は改善されませんでした。

どうしたの?起動順序に問題があるようです。スケーリングが得られなくても(または他の選択肢)がリストされているようにprintenv見えますQT_SCALE_FACTOR...それでそこにいますが、何か問題があるようです。私がブートシーケンスに言及した理由は、私の(もちろん珍しい)設定がどのプロセスが実行されているのかは明らかに敏感であるからです。時には(まれですが)占有できない複雑なパネルとウィンドウで起動します。画面の4分の1。だから私は再起動したがうまくいきました。

とにかく、あなたの助けに感謝します。よろしくお願いします!


編集:問題は解決しました! Lightdmが犯人です。説明どおりここ.bashrc、ディスプレイがシェルによって起動されないため、lightdmからログインすると関連ファイルが取得できません。 Lightdmは起動スクリプト用にいくつかのファイルを解析し、そこに環境変数を保存できます。正確な名前はディストリビューションによって異なります。 Archwikiは次のように言います~/.xprofile。しかしDebian であなたはそれを使用することができます~/.xsessionrc

~/.xsessionrcだからインクルードを作成し、export QT_SCALE_FACTOR=2今動作します。

ベストアンサー1

おすすめ記事