LinuxデスクトップでのHDスケーリングのトピックが好きです。フォントと同様に、Tuxスペースで最も無視されているユーザーエクスペリエンスの領域の1つです。概して、Plasmaはスケーリングをうまく行う唯一の環境です。他のデスクトップは、フル整数のスケーリング、フォントDPIの微調整、そして運が良ければ、25%の増分などの小数のスケーリングとうまく調和しています。
非ネイティブアプリケーション、つまりデフォルトのプラズマセットを超えるものでPlasmaを使用すると、物事はさらに興味深いものになります。これについては、PlasmaでのHDスケーリングに関する最初の記事で話しました。そこでは、Firefox、Chrome、古いGTK2などのソフトウェアの微調整をたくさん紹介しました。ここで、スケーリングがそのままではうまく機能しないシナリオで、スナップをスケーリングする方法を詳しく説明します。フォローしてください。
ちょっとした免責事項
勇気と熱意を持って前進する前に、いくつかのことを明確にしましょう。 1つは、私はスナッププロジェクトに関与しているため、この記事には偏見があることを期待する必要があります。したがって、慎重に、ちょっとした塩を使って、私のアドバイスを受け入れるか無視してください。ただし、私がこの記事を書いているのは、私の仕事に関して特に明示的または暗黙的な関係がないことに注意してください。このチュートリアルは、LinuxでのHDスケーリングに関する一連の記事の一部であり、Gnomeデスクトップ、UHD画面など、さまざまなデスクトップやツールなどに触れるものもあります。今後は、私が専門的に行うこととのすべての関係を終わらせます。
2つ目は、理想的には、どのテクノロジーについて話しているかに関係なく、すべてがスムーズかつ完全に機能する必要があります。しかし、多くの理由から、そうではありません。 3つ目は、スナップが興味深い理由は、スナップが自己完結型のアプリケーションであり、基盤となるシステムから分離して実行するように設計されているためです。これは、スナップからシステムへの統合という重要な問題を引き起こします。スナップはどのようにソースを作成し、テーマ、アイコン、DPI値などのグローバル設定を使用しますか?
その質問への答えは非常に複雑です。場合によっては、これらの設定を問題なく入手して使用します。実際の結果は、特定のスナップがどのようにパッケージ化されているかも異なります。 TL; DR:デフォルトで選択したデスクトップ構成を必ずしも「表示」または「ピックアップ」しないスナップが存在する場合があります。
本質的に、これは前の記事で非スナップChromeで見たものと同じです。唯一の違いは、関連する設定がどのように適用されるかです。たまたま、私のSlimbookでは、2年前にChromeで導入した微調整とまったく同じ方法で、MicrosoftEdgeで同じスケーリング微調整を使用しています。変更の実際の技術的な実装に焦点を当てる必要があります。そのため、この小さなチュートリアルがあります。
問題の詳細
わかった。だから今、あなたが直面している問題:従来のLinuxパッケージングメカニズムを使用してインストールされたアプリケーションは、スナップとしてインストールされた同じアプリケーションと比較して、デスクトップ上で異なるスケールになる可能性があります。適切な例:VLC。しかし、それだけではありません。ただし、興味深いのは、VLCがQtベースのアプリケーションであるということです。
解決策
エンドユーザーは、スナップ(VLC)に別のスケーリング係数を使用するように指示できます。これは、前の演習でブラウザを使用して行ったのと同じです。 VLCデスクトップファイルを見つけて編集する必要があります。標準のLinuxアプリケーションは、デスクトップファイルを/ usr / share/applicationsの下に保持します。スナップは次の場所に保存されます:
/ var / lib / snapd / desktop / Applications
次に、vlc_vlc.desktopファイルを開き、Exec行を変更する必要があります。ただし、この変更は、GoogleChromeで使用したものとは異なります。その理由は、VLCは異なるテクノロジーのセットを使用してパッケージ化されており、Chromiumベースのブラウザーに適用できるフラグはここでは適用されないためです。 device-scale-factorフラグとforce-device-scale-factorフラグを試してみると、エラーが発生します:
vlc:不明なオプションまたは必須の引数がありません'--force-device-scale-factor =1.25'
代わりに、QT_SCALE_FACTORが必要です。ヒント、これはすべての合理的に最新のQtベースのアプリケーションに適用できます。次に、デスクトップファイルのExec行を以下に示すものから編集します。
Exec =env BAMF_DESKTOP_FILE_HINT =/var/lib/snapd/desktop/applications/vlc_vlc.desktop / snap / bin / vlc%U
ここのこの行へ:
Exec =env BAMF_DESKTOP_FILE_HINT =/var/lib/snapd/desktop/applications/vlc_vlc.desktop QT_SCALE_FACTOR =1.XX / snap / bin / vlc%U
たとえば、1.16や1.25など、任意のスケールを使用します。
代替実装
これらのファイルの編集に慣れていない場合(sudoも必要)、アプリケーションに独自のラッパーランチャーを作成できます。次のようなワンライナー:
QT_SCALE_FACTOR=1.25スナップランvlc
次に、これを独自のカスタムスクリプトまたはショートカットに入れることができます。同様に、独自のPlasmaメニューランチャー(エントリ)を作成できます。私のPlasmaで概説したように、このデスクトップ環境は非常に柔軟で使いやすく、必要なものすべてを微調整できます。特に、システムメニューに新しいアプリケーションアイテムを手動で追加できます。
メニューアイコン>[アプリケーションの編集]を右クリックします。次に、[新しいアイテム]をクリックし、右側のフィールドに必要な情報を入力します。既存のVLCエントリからデータをコピーしたり、必要に応じてカスタムアイコンを設定したりできるため、異なるエディションを簡単に区別できます。最も重要なのは、コマンドを上記のエントリに設定することです。プログラムをスケーリングする別の方法として、QT_FONT_DPIまたはDPI環境変数を使用することもできます。
その他のアプリケーションフレームワーク
VLCは、影響を受ける可能性のある多くのアプリケーションタイプの1つにすぎません。 ChromiumベースのブラウザとElectronアプリケーションの場合、Chrome(およびEdge)で試したのと同じトリックを使用できます。スケールファクターフラグをExec行に追加します。どちらか一方、または両方を試すことができます:
--device-scale-factor =1.25
--force-device-scale-factor =1.25
GTK3ベースのアプリケーションの場合、次の環境変数を使用できます。
GDK_SCALE="新しい値"
をエクスポートしますほとんどの場合、これは日常の使用で遭遇するプログラムの大部分をカバーするはずです。また、問題がまったく発生しない可能性もあります。しかし、そうすると、Qt、GTK、Electronが、今日のソフトウェアを構築する最も一般的な方法です。さて、他の種類のアプリケーションと必要な変更に興味がある場合は、Arch Linux wikiに微調整の膨大なリストがあり、HDスケーリングを変更できるさまざまな方法があります。これはスナップの有無にかかわらず適用できます。
>結論
HDディスプレイはかなり前から存在していますが、HDの使用に関する真の問題はまだ私たちの前にあります。たとえば、モニターが十分に大きい場合、インターフェイス要素が小さすぎてスケーリング係数を調整できないと感じることは決してないかもしれません。しかし、あなたがそれを必要とするそれらの状況では、物事はある種崩壊します。 Linuxだけではありません。WindowsでのHDスケーリングにも多くの問題がありました。この点で、Plasmaはこのゲームで本当に進んでいます。
これまでのところ、HDに関するものについては、さまざまなブラウザーを取り上げ、いくつかのGTK2およびGTK3アプリに触れました。ねえ、私はWINEアプリケーションのスケーリングやDPIを変更する方法も示しました。これで、スナップについても説明しました。一見、物事は異質または複雑に感じるかもしれませんが、実際にはそうではありません。次のリストは? Gnome、次に4Kデバイス。また、ここがあなたの出番です。リクエスト、質問、提案がある場合は、教えてください。 Linuxの世界には他にもたくさんのフレームワークやツールがあり、それらすべてを探求する必要があります。とにかく、うまくいけば、これは便利で楽しい運動でした。またね。