web-dev-qa-db-ja.com

gnome、kde、xfceのフォント設定はどのように機能しますか?

私のDebian 8システム(Jessie)は主にxfceシステムですが、私はgnomeおよびkdeプログラムも使用しています。デスクトップ環境はインストールしませんでしたが、_.xsession_ファイルでxsessionを開始しました。問題は、フォント(およびその他のUIアスペクト)を正しく取得できないことです。

ツール

まず、使用するツールがわかりません。 kdeのsystemsettingsと_gnome-Tweak-tool_があります。 _gnome-settings-daemon_を実行しています。 gnome-Tweak-toolで行われた変更は、Thunderbirdとgnome-Tweakツール自体にすぐに現れますが、たとえばkrusaderと_k3b_を再起動した後にのみ。しかし、それでもフォントは大きすぎますが、少なくとも効果はあります。

Systemsettingsは実行中のアプリケーションにまったく影響を与えていないようです。kdeアプリケーションを再起動すると、フォントがデフォルト設定にリセットされているように見えますが、

Gnome-Tweak-toolが提供する設定はごくわずかですが、systemsettingsではメニューフォント、ツールバーフォントなどを個別に設定できます。したがって、私はgnomeが、「自分に最適」な方法で自分で行ったいくつかの設定に基づいて、きめ細かな設定を生成する必要があると想定しています。

Xfceには独自の_xfce4-appearance-settings_ツールがありますが、アプリケーションのフォントには影響を与えないようで、単一のデフォルトフォントのみを設定できます。ああ、それからqtconfigがあり、qt4とqt5の2つのバージョンがあるようです。私はおそらくいくつかを逃した。

現在、表示されるフォントは、これらのツールのフォント設定に対応していません。

質問

  • とにかく、この全体がどのように機能するかを本当に理解したいと思います。さまざまな設定ツールとアプリケーションの間の相互作用、およびそれらがデータを格納する場所は、私にとって謎です。
  • これらの設定ツールがどのように相互作用するかについて確立された標準はありますか?
  • さらに、誰かがこの魔法のすべてを処分する方法を私に示すことができれば、私は最も感謝します。昔はxrdbのセットアップに時間がかかりましたが、少なくとも理解できるプロセスであり、収束しました。

具体的に

  • テーマを変更するとどうなりますか?
  • さまざまな設定ツールが互いのデータを上書きしますか?
  • (xfce/gnome)設定デーモンは何をしますか?
  • Dconfは何をしますか?
8

この答えは完全に標準的なものではありません-最後のAnswererのメモを参照してください。

この回答では、Debianベースのディストリビューション(XubuntuおよびDebian Xfce)での実際の経験に基づいて、簡潔な説明を提供するつもりです。とにかく、DebianのGTK +環境のQtアプリケーションでは、フォント設定がすぐに有効にならないことを確認しました。

ツールについて

まず、使用するツールがわかりません。

経験豊富なユーザーの場合は、サードパーティの構成ツールを使用しないでください。

便宜上、ユーザーはGNOME Tweak Toolなどのツールを使用する傾向があります。ただし、最高の互換性を得るには、デスクトップ環境または各ツールキットが提供するグラフィカル構成ツールを使用することをお勧めします。それ以外の場合は、Dconf、Xfconf、GSettingsなどのより高度なツールを使用します。

ああ、それからqtconfigがあり、qt4とqt5の2つのバージョンがあるようです。私はおそらくいくつかを逃した。

Qt4にはqt4-qtconfigを使用し、同様にQt5にはqt5ctを使用します。

特定のアプリケーションで使用されているQtのバージョンを確認するには、APTを使用してパッケージの依存関係を追跡します。たとえば、XubuntuにVLCがインストールされています。 VLCはQtを使用しているので、APT=キャッシュをクエリし、キーワードとして 'qt'を使用して、Qtの依存関係をフィルタリングできます。

$ apt-cache depends vlc | grep 'qt'
  Depends: libqtcore4
  Depends: libqtgui4

この場合、結果はVLCがQt4ツールキットを使用していることをほのめかしました。

別の方法は、Qtパッケージがインストールされているかどうかを確認することです。これは、Dpkgコマンドを実行して実行できます。上記のAPTコマンドが示唆しているため、これらのキーワード 'libqt'および 'gui'を含むパッケージをフィルターに掛けることを選択します。

$ dpkg-query -W | grep 'libqt' | grep 'gui'
libqtgui4:i386  4:4.8.5+git192-g085f851+dfsg-2ubuntu4.1

この場合、結果はバージョン4.8.xのQt4がインストールされていることを示しています。 Qt5パッケージがインストールされている場合、結果にはlibqt5gui5ではなくlibqtgui4が含まれます。 Qt5では名前が異なります。そのため、結果をフィルター処理するためにgrepを2回使用します。

現在、表示されるフォントは、これらのツールのフォント設定に対応していません。

L. Levrelが以前に示唆したように、システム設定は乱雑です。 GNOME/KDE/Qtアプリケーションを気にする必要はありませんが、Xfceシステムでgnome-settings-daemonを実行しますか? Xfceには、Debianのこのパッケージxfce4-settingsによって提供される独自の設定デーモンxfsettingsdがあります。

フォント設定の不一致

次のスクリーンショットでは、Xfceデスクトップ環境で、XubuntuとDebian Xfceを使用して、Xfceの外観、Qt 4設定、およびVLCメディアプレーヤーを実行しています。次に、デフォルトのフォントを同じフォントサイズである「Droid Sans(Regular)」から「Droid Sans(Bold)」に変更しました。

Xubuntuの場合、フォント設定はGTK +アプリケーションとQtアプリケーションの両方にすぐに適用されました。 Xfce Appearanceで指定されたフォントは、使用されているツールキットに関係なく、システム全体に影響を与えるのに十分でした。

Font settings in Xubuntu 14.04

Debian Xfceの場合、フォント設定はGTK +アプリケーションにのみすぐに適用されました。 Qtのデフォルトフォントを「Sans Serif(Normal)」から「Droid Sans Mono(Regular)」に変更するには、Qt 4設定を使用する必要がありました。また、変更を適用する前に、メニューバーから手動で保存する必要がありました。

Font settings in Debian Xfce 8

XubuntuとDebian Xfceの両方がxfsettingsdを実行していたにもかかわらず、Debian Xfceは何らかの理由でフォント設定を自動的に受け入れませんでした。考えられる手がかり:Debian Xfceには、Qtアプリケーションがシステム設定を自動的に読み取れるようにする特定のパッケージが欠落している可能性があります。

質問について

これらの設定ツールがどのように相互作用するかについて確立された標準はありますか?

いいえ。これが、ユーザーがサードパーティ製ツールを使用してシステム設定を構成することをしない必要がある理由です。エンドユーザーは、これらのツールが互いにどのように相互作用するのかを知らないでしょう。

さまざまな設定ツールが互いのデータを上書きしますか?

これは、構成ツールがどのように機能するかによって異なります。 2つの異なるツールが同じ基本的な構成メソッド、つまりGSettingsを共有している場合、両方が同じ構成ファイルを読み取ることになります。

最初のスクリーンショットでは、Qt 4設定に「Droid Sans(Bold)」ではなく「Droid Sans(Regular)」がまだ表示されていることに注意してください。 Xubuntuのシステム全体の設定は変更されましたが、Qt 4の設定には変更がすぐには反映されません。使用されているツールキットが異なるためと考えられます。終了して再度起動すると、Qt 4設定に最新のフォント設定「Droid Sans(Bold)」が表示されるようになりました。

残りの質問については、次のリンク先のページを参照してさらに読むことをお勧めします。

免責事項:この回答は、主にXubuntu 14.04およびDebian 8 Xfce(どちらもXfce 4.10を実行)での私の経験に基づいています。同様のデスクトップ環境を実行しているにもかかわらず、フォント設定を有効にするためのエクスペリエンスは少し異なりました。既知の制限は次のとおりです。

  • Xfceでの私の経験と同様に、同様の環境を実行する他のシステムは必ずしもフォント設定を自動的に尊重するとは限らないと思います。
  • 混合環境のすべての可能な構成を調査したわけではありません。説明されているいくつかのポイントは、手動で構成されたシステムに完全に適用できない場合があります。
  • KDEアプリケーションのフォント設定はテストしませんでした。 Dolphinファイルマネージャなどの一部のKDEアプリケーションはKDEとQtパッケージの両方に依存していますが、QtアプリケーションはQtパッケージにのみ依存しています。この回答は、KDEアプリケーションには関係がない場合があります。

TL; DR異なる環境用に作成されたツールを混在させないでください。サードパーティの構成ツールを使用しないでください。デスクトップ環境またはそれぞれのツールキットによって提供されるグラフィカルツールを使用します。


回答者のメモ:この答えは十分であると書いていましたが、現時点では完全に正規ではありません。したがって、この回答はコミュニティWikiになりました。そのため、評判が低い人は誰でもこの投稿を改善して、各ツールキットの最新の変更に追いつくことができます。または、より簡潔な例を使用してフォント設定の不一致を再説明することもできます(そうする場合は、関連する「免責事項」からのテキスト)。

3
clearkimura

フォントをレンダリングするための別の方法をすべて試すことができます。 Infinalityはあなたのニーズに合うかもしれないクールなプロジェクトです。動作の詳細はわかりませんが、8.1 debianのインストールで問題なく動作することはわかります。

InfinalityのDebian Wikiにアクセスしてください

0
ashishk

それも私にとって混乱のように見えます。私が知っていることを共有しますが、それはパズルを完全に解決するわけではありません。

  • gTKに依存するGUIソフトウェアの場合、GTKウィジェットはツールキット構成ファイルで構成されます。 .gtkrc-2.0
  • Qtアプリはおそらく同じように機能し、.qtrcファイルが何らかの種類のものになります
  • より伝統的なXソフトウェアは.Xdefaults/.Xresourcesでアプリごとに設定されます
  • ウィンドウマネージャーには、独自の構成ファイルがあり、通常は.configのサブディレクトリにあります(.gnomeまたは.gconfなどのGnome、および.kde[34]のKDEを除く)。

fontconfigシステムは、/etc/fontsの下のファイルによって構成され、ある種のエイリアスを導入します。たとえば、このコマンドライン:fc-match Mono。したがって、アプリが(直接またはそのツールキットを介して)構成されている場合、たとえばSans、fontconfigを構成して対応するフォントを変更できます。 1つの可能性は、構成が/etc/fonts/infinality/infinality.confにある「無限大」サブシステムを使用することです(使用方法に関するコメントが含まれています)。

0
L. Levrel