コンテンツコンテンツ
管理ガイド
  1. このガイドについて
  2. I サポートと共通タスク
    1. 1 YaSTオンラインアップデート
    2. 2 サポート用システム情報の収集
    3. 3 テキストモードのYaST
    4. 4 Snapperを使用したシステムの回復とスナップショット管理
    5. 5 VNCによるリモートアクセス
    6. 6 コマンドラインツールによるソフトウェアの管理
    7. 7 BashとBashスクリプト
  3. II システム
    1. 8 64ビットシステム環境での32ビットと64ビットのアプリケーション
    2. 9 Linuxシステムのブート
    3. 10 systemdデーモン
    4. 11 journalctl:systemdジャーナルのクエリ
    5. 12 ブートローダGRUB 2
    6. 13 UEFI (Unified Extensible Firmware Interface)
    7. 14 特別なシステム機能
    8. 15 プリンタの運用
    9. 16 udevによる動的カーネルデバイス管理
    10. 17 X Windowシステム
    11. 18 FUSEによるファイルシステムへのアクセス
  4. III サービス
    1. 19 ネットワークの基礎
    2. 20 SLP
    3. 21 NTPによる時刻の同期
    4. 22 ドメインネームシステム
    5. 23 DHCP
    6. 24 NetworkManagerの使用
    7. 25 Samba
    8. 26 NFS共有ファイルシステム
    9. 27 Autofsによるオンデマンドマウント
    10. 28 ファイルの同期
    11. 29 Apache HTTPサーバ
    12. 30 YaSTを使用したFTPサーバの設定
    13. 31 Squidプロキシサーバ
    14. 32 SFCBを使用したWebベースの企業管理
  5. IV モバイルコンピュータ
    1. 33 Linuxでのモバイルコンピューティング
    2. 34 電源管理
  6. V トラブルシューティング
    1. 35 ヘルプとドキュメント
    2. 36 最も頻繁に起こる問題およびその解決方法
  7. A マニュアルの更新
  8. B サンプルネットワーク
  9. C GNU Licenses
ナビゲーション
適用先 SUSE Linux Enterprise Server 12

17 X Windowシステム

Xウィンドウシステム(X11)は、UNIX系のグラフィカルユーザインタフェースで、事実上の標準となっています。Xはネットワークベースであり、あるホスト上で起動されたアプリケーションを、任意のネットワーク(LANやインターネット)を介して接続されている他のホスト上で表示できるようにします。この章では、X設定の基本情報と、SUSE® Linux Enterprise Serverでのフォント使用の背景情報を提供します。

ほとんどの場合、X Windowシステムでは設定をする必要がまったくありません。ハードウェアは、Xの起動時に動的に検出されるため、xorg.confの使用はお勧めしません。それでも、Xの動作を変更するためにカスタムオプションを指定する必要がある場合は、/etc/X11/xorg.conf.d/にある設定ファイルを変更できます。

ヒント
ヒント: IBM System z: グラフィカルユーザインタフェースの設定

IBM System zには、X.Orgがサポートする入出力デバイスはありません。そのため、このセクションで取り上げられている設定手順は使用できません。IBM System zの詳細については、第4章 IBM System zでのインストール, 導入ガイドを参照してください。

17.1 フォントのインストールと設定

Linuxのフォントは次の2つに分類できます。

アウトラインフォントまたはベクトルフォント

グリフの形状に関する描画命令として数学的記述が含まれています。このため、品質を損なうことなく各グリフを任意のサイズに拡大縮小できます。このようなフォント(グリフ)を使用するには、数学的記述をラスタ(グリッド)に変換する必要があります。このプロセスを「フォントのラスタライズ」と呼びます。「フォントヒンティング」 (フォント内に組み込まれている)は、特定のサイズのレンダリング結果を向上および最適化します。ラスタライズとヒンティングは、FreeTypeライブラリによって行われます。

Linuxで一般的な形式は、PostScript Type 1とType 2、TrueType、およびOpenTypeです。

ビットマップフォントまたはラスタフォント

特定のフォントサイズ用にデザインされたピクセルの配列で構成されます。ビットマップフォントは非常に高速でレンダリングも容易です。ただし、ベクトルフォントと比較した場合、ビットマップフォントは品質を損なわずに拡大縮小することはできません。そのため、これらのフォントは通常、複数のサイズで配布されます。現在でも、Linuxコンソールや一部の端末ではビットマップフォントが使用されています。

Linuxでは、PCF (Portable Compiled Format)またはBDF (Glyph Bitmap Distribution Format)が最も一般的な形式です。

これらのフォントの外観は、主に次の2つの側面による影響を受けます。

  • 適切なフォントファミリを選択する

  • ユーザが読みやすい結果を実現するアルゴリズムでフォントをレンダリングする

最後の点は、ベクトルフォントにのみ関係があります。上述の2つの点は主観に大きく左右されますが、何らかのデフォルト値を作成する必要があります。

Linuxのフォントレンダリングシステムは、異なる関係を持つ複数のライブラリで構成されます。基本のフォントレンダリングライブラリはFreeType (http://www.freetype.org/)で、サポートされている形式のフォントグリフを最適化されたビットマップグリフに変換します。レンダリングプロセスはアルゴリズムとそのパラメータによって制御されます(特許の問題が絡む場合があります)。

FreeTypeを使用するすべてのプログラムまたはライブラリは、Fontconfig (http://www.fontconfig.org/)ライブラリを参照する必要があります。このライブラリは、ユーザとシステムからフォント設定を収集します。ユーザが自分のFontconfig設定を修正した場合、このような変更によってアプリケーションはFontconfig対応になります。

アラビア語、ハン語、パスパ文字などのスクリプトに必要なより高度なOpenTypeシェーピング、およびその他のより高レベルのテキスト処理は、Harfbuzz (http://www.harfbuzz.org/)Pango (http://www.pango.org/)などが行います。

17.1.1 インストール済みフォントの表示

システムにインストールされているフォントの概要を表示するには、rpmコマンドまたはfc-listコマンドを使用します。どちらのコマンドでも適切な回答が得られますが、システムおよびユーザの設定によっては異なるリストが返されることがあります。

rpm

システムにインストールされている、フォントが格納されたソフトウェアパッケージを参照するには、rpmを起動します。

rpm -qa '*fonts*'

すべてのフォントパッケージがこの式を満たす必要があります。ただし、このコマンドは、fonts-configのような誤検知を返す場合があります(これはフォントではなく、フォントも含みません)。

fc-list

アクセスできるフォントファミリ、およびそれらのフォントがシステムまたはホームのどちらにインストールされているかに関する概要を参照するには、fc-listを起動します。

fc-list ':' family
注記
注記: fc-listコマンド

fc-listコマンドは、Fontconfigライブラリのラッパーです。Fontconfig (正確にはそのキャッシュ)に対して、多くの有用な情報を問い合わせることができます。詳細については、man 1 fc-listを参照してください。

17.1.2 フォントの表示

インストールされているフォントファミリのデザインを知りたい場合は、ftviewコマンド(ft2demosパッケージ)を使用するか、http://fontinfo.opensuse.org/にアクセスします。たとえば、FreeMonoフォントを14ポイントで表示するには、ftviewを次のように使用します。

ftview 14 /usr/share/fonts/truetype/FreeMono.ttf

さらに詳しい情報が必要な場合は、http://fontinfo.opensuse.org/にアクセスして、サポートされているスタイル(通常のフォント、太字、斜体など)と言語を参照します。

17.1.3 フォントの問い合わせ

パターンを指定した場合にどのフォントが使用されるかを問い合わせるには、fc-matchコマンドを使用します。

たとえば、インストール済みのフォントをパターンに含めると、fc-matchは、ファイル名、フォントファミリ、およびスタイルを返します。

tux > fc-match 'Liberation Serif'
LiberationSerif-Regular.ttf: "Liberation Serif" "Regular"

目的のフォントがシステムに存在しない場合は、Fontconfigの照合ルールが実行され、利用可能なフォントの中で最もそのフォントに似ているフォントを見つけようとします。つまり、要求は次のように置換されます。

tux > fc-match 'Foo Family'
DejaVuSans.ttf: "DejaVu Sans" "Book"

Fontconfigは「エイリアス」をサポートしており、名前は別のファミリ名に置換されます。代表的な例は、sans-serifserifmonospaceなどの汎用名です。これらのエイリアスは、実際のファミリ名で置換することも、ファミリ名の優先リストで置換することもできます。

tux > for font in serif sans mono; do fc-match "$font" ; done
DejaVuSerif.ttf: "DejaVu Serif" "Book"
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

現在インストールされているフォントによっては、使用中のシステムでの結果は異なる場合があります。

注記
注記: Fontconfigに従った類似性ルール

Fontconfigは、指定された要求に従って「常に」、できる限り類似性の高い実際のファミリを返します(少なくともファミリが1つインストールされている場合)。類似性は、Fontconfigの内部メトリクスと、ユーザまたは管理者のFontconfig設定に依存します。

17.1.4 フォントのインストール

新しいフォントをインストールする主な方法は次のとおりです。

  1. *.ttf*.otfなどのフォントファイルを既知のフォントディレクトリに手動でインストールする。システム全体で使用できるようにする場合は、標準のディレクトリ/usr/share/fontsを使用します。自分のホームディレクトリにインストールする場合は、~/.config/fontsを使用します。

    標準のディレクトリ以外を使用する場合は、Fontconfigで別のディレクトリを選択できます。Fontconfigにディレクトリを認識させるには、<dir>要素を使用します。詳細については、17.1.5.2項 「Fontconfig XMLの詳細」を参照してください。

  2. zypperを使用してフォントをインストールする。SUSEディストリビューションであっても、M17N:fonts (http://download.opensuse.org/repositories/M17N:/fonts/)リポジトリであっても、多くのフォントはすでにパッケージとして利用可能です。次のコマンドを使用して、リポジトリをリストに追加します。たとえば、SLE 12にリポジトリを追加するには、次の手順に従います。

    sudo zypper ar
         http://download.opensuse.org/repositories/M17N:/fonts/SLE_12/M17N:fonts.repo

    FONT_FAMILY_NAMEを検索するには、次のコマンドを使用します。

    sudo zypper se 'FONT_FAMILY_NAME*fonts'

17.1.5 フォントの外観の設定

レンダリングメディアおよびフォントサイズによっては、満足できる結果が得られないことがあります。たとえば、近年の平均的なモニタの解像度は100dpiであるため、ピクセルが大きくなりすぎ、グリフが綺麗に表示されません。

アンチエイリアス(グレースケールスムージング)、ヒンティング(グリッドフィッティング)、またはサブピクセルレンダリング(1方向の解像度を3倍にする)など、低解像度に対応するアルゴリズムはいくつもあります。これらのアルゴリズムはフォントの形式によっても異なることがあります。

重要
重要: サブピクセルレンダリングの特許の問題

サブピクセルレンダリングはSUSEディストリビューションでは使用されていません。FreeType2はこのアルゴリズムをサポートしていますが、このアルゴリズムは、2019年末に有効期限が切れる複数の特許で保護されています。したがって、サブピクセルレンダリングがコンパイルされたFreeType2ライブラリがシステムにない限り、Fontconfigのサブピクセルレンダリングオプションを設定しても効果はありません。

Fontconfigでは、レンダリングアルゴリズムをすべてのフォントに対して個別に選択することも、フォントのセットに対して選択することもできます。

17.1.5.1 sysconfigによるフォントの設定

SUSE Linux Enterprise Serverには、Fontconfig上にsysconfig層があります。これは、フォント設定を試してみる場合の開始点として便利です。デフォルト設定を変更するには、設定ファイル/etc/sysconfig/fonts-configを編集します(またはYaST sysconfigモジュールを使用します)。ファイルの編集後、fonts-configを実行します。

sudo /usr/sbin/fonts-config

アプリケーションを再起動して結果を表示します。次の点に注意してください。

  • 一部のアプリケーションでは再起動は必要ありません。たとえば、Firefoxは随時Fontconfig設定を再読み込みします。新たに作成したタブや再ロードしたタブには、新しいフォント設定が後で適用されます。

  • パッケージをインストールまたは削除するたびにfonts-configスクリプトが自動的に呼び出されます(呼び出されない場合は、フォントソフトウェアパッケージのバグです)。

  • fonts-configコマンドラインオプションで、すべてのsysconfig変数を一時的に上書きできます。詳細については、fonts-config --helpを参照してください。

いくつかのsysconfig変数は変更することができます。man 1 fonts-configまたはYaST sysconfigモジュールのヘルプを参照してください。次に、変数の例を示します。

レンダリングアルゴリズムの使用方法

検討対象: FORCE_HINTSTYLEFORCE_AUTOHINTFORCE_BWFORCE_BW_MONOSPACEUSE_EMBEDDED_BITMAPS 、および EMBEDDED_BITMAP_LANGAGES

汎用エイリアスの優先リスト

使用対象: PREFER_SANS_FAMILIESPREFER_SERIF_FAMILIESPREFER_MONO_FAMILIES 、および SEARCH_METRIC_COMPATIBLE

次のリストは設定例を示しています。これは最も読みやすいフォント(コントラストが高い)から最も美しいフォント(スムージングが強い)の順にソートされています。

ビットマップフォント

ビットマップフォントを優先させる場合は、 PREFER_*_FAMILIES 変数を使用します。これらの変数については、ヘルプセクションの例に従ってください。これらのフォントは白黒でレンダリングされスムージングされない点、およびビットマップフォントはいくつかのサイズしか用意されていない点に注意してください。次の設定

SEARCH_METRIC_COMPATIBLE="no"

を使用して、メトリック互換性主導型のファミリ名の置換を無効にすることを検討します。

白黒にレンダリングされるスケーラブルフォント

アンチエイリアスなしでレンダリングされるスケーラブルフォントは、ビットマップフォントと同様の結果になる可能性がありますが、フォントの拡大縮小機能は維持されます。Liberationファミリのような適切にヒンティングされたフォントを使用します。ただし、残念ながら、適切にヒンティングされたフォントは多くありません。この方法を強制するには、次の変数を設定します。

FORCE_BW="yes"
白黒にレンダリングされる等幅フォント

等幅フォントは、アンチエイリアスのみを使用せずにレンダリングします。そうでない場合は、デフォルト設定を使用します。

FORCE_BW_MONOSPACE="yes"
デフォルト設定

すべてのフォントはアンチエイリアスを使用してレンダリングされます。適切にヒンティングされたフォントは「バイトコードインタープリタ」 (BCI)でレンダリングされ、それ以外はautohinter (hintstyle=hintslight)でレンダリングされます。関連するsysconfig変数はすべてデフォルト設定のままにします。

CFFフォント

CFF形式のフォントを使用します。現在、FreeType2には数々の点で改良が重ねられており、このフォントは、デフォルトのTrueTypeフォントよりも可読性が高いと考えることができます。PREFER_*_FAMILIESの例に従って、このフォントを試してみてください。場合によっては、次の設定を使用して、より濃く太いフォントにできます。

SEARCH_METRIC_COMPATIBLE="no"

その理由は、このフォントは、デフォルトではhintstyle=hintslightでレンダリングされているためです。次の設定の使用も検討してください。

SEARCH_METRIC_COMPATIBLE="no"
Autohinterの排他的使用

適切にヒンティングされたフォントに対しても、FreeType2のautohinterを使用します。これにより、太さが増してコントラストが下がるため、不鮮明になる場合があります。これを有効にするには、次の変数を設定します。

FORCE_AUTOHINTER="yes"

ヒンティングのレベルを制御するには、FORCE_HINTSTYLEを使用します。

17.1.5.2 Fontconfig XMLの詳細

Fontconfigの環境設定のフォーマットは、eXtensible Markup Language (XML)です。ここで取り上げるいくつかの例は、完全なリファレンスではなく概要です。詳しい情報とその他の例については、man 5 fonts-confまたは/etc/fonts/conf.d/を参照してください。

中央のFontconfig設定ファイルは/etc/fonts/fonts.confで、他の例と/etc/fonts/conf.d/ディレクトリ全体が含まれます。Fontconfigをカスタマイズする場合、変更を挿入できる場所は2つあります。

Fontconfig設定ファイル
  1. システム全体の変更.  /etc/fonts/local.confファイルを編集します(デフォルトで空のfontconfig要素が含まれています)。

  2. ユーザ固有の変更.  ~/.config/fontconfig/fonts.confファイルを編集します。Fontconfig設定ファイルは、~/.config/fontconfig/conf.d/ディレクトリに保存します。

ユーザ固有の変更は、システム全体の設定よりも優先されます。

注記
注記: 非推奨のユーザ設定ファイル

~/.fonts.confファイルには非推奨のマークが付いているため、今後は使用しないことをお勧めします。代わりに~/.config/fontconfig/fonts.confを使用してください。

すべての設定ファイルにはfontconfig要素が必要です。そのため、最小限のファイルは次のようになります。

<?xml version="1.0"?>
   <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
   <fontconfig>
   <!-- Insert your changes here -->
   </fontconfig>

デフォルトのディレクトリでは不十分な場合は、各ディレクトリを指定したdir要素を挿入します。

<dir>/usr/share/fonts2</dir>

Fontconfigは、「再帰的」にフォントを検索します。

次のFontconfigスニペットでフォントレンダリングアルゴリズムを選択できます(例17.1「レンダリングアルゴリズムを指定する」を参照)。

例 17.1 レンダリングアルゴリズムを指定する
<match target="font">
 <test name="family">
  <string>FAMILY_NAME</string>
 </test>
 <edit name="antialias" mode="assign">
  <bool>true</bool>
 </edit>
 <edit name="hinting" mode="assign">
  <bool>true</bool>
 </edit>
 <edit name="autohint" mode="assign">
  <bool>false</bool>
 </edit>
 <edit name="hintstyle" mode="assign">
  <const>hintfull</const>
 </edit>
</match>

さまざまなフォントプロパティをテストできます。たとえば、フォントファミリ(例を参照)、サイズの間隔、スペーシング、フォント形式などについて、<test>要素をテストできます。<test>を完全に破棄した場合、すべての<edit>要素が各フォントに適用されます(グローバルな変更)。

例 17.2 エイリアスとファミリ名の置換
ルール1
<alias>
 <family>Alegreya SC</family>
 <default>
  <family>serif</family>
 </default>
</alias>
ルール2
<alias>
 <family>serif</family>
 <prefer>
  <family>Droid Serif</family>
 </prefer>
</alias>
ルール3
<alias>
 <family>serif</family>
 <accept>
  <family>STIXGeneral</family>
 </accept>
</alias>

例17.2「エイリアスとファミリ名の置換」のルールは、「優先ファミリリスト」 (PFL)を作成します。要素に応じて異なるアクションが実行されます。

ルール1<default>の場合

このルールは、serifファミリ名をPFLの「末尾」に追加します。

ルール2<prefer>の場合

このルールは、PFLにAlegreya SCが存在する場合、PFLでserifが最初に出現する箇所の「直前」「Droid Serif」を追加します。

ルール3<accept>の場合

このルールは、PFLでserifファミリ名が最初に出現する箇所の「直後」に「STIXGeneral」ファミリ名を追加します。

まとめると、スニペットがルール1 - ルール2 - ルール3という順序で記述されている場合、ユーザがAlegreya SCを要求すると、表17.1「FontconfigルールからのPFLの作成」で説明されているようにPFLが作成されます。

表 17.1 FontconfigルールからのPFLの作成

順序

現在のPFL

要求

Alegreya SC

ルール1

Alegreya SCserif

ルール2

Alegreya SCDroid Serifserif

ルール3

Alegreya SCDroid SerifserifSTIXGeneral

Fontconfigのメトリクスでは、ファミリ名は、他のパターン(スタイルやサイズなど)に比べて最も高い優先度を持ちます。Fontconfigは、システムに現在インストールされているファミリを確認します。Alegreya SCがインストールされている場合、Fontconfigはそれを返します。インストールされていない場合、Droid Serifなどを要求します。

注意してください。Fontconfigスニペットの順序を変更すると、Fontconfigが異なる結果を返す可能性があります。表17.2「順序を変更したFontconfigルールからのPFL生成結果」を参照してください。

表 17.2 順序を変更したFontconfigルールからのPFL生成結果

順序

現在のPFL

要求

Alegreya SC

同じ要求が実行されます。

ルール2

Alegreya SC

serifがPFLに存在しないため、何も置換されません。

ルール3

Alegreya SC

serifがPFLに存在しないため、何も置換されません。

ルール1

Alegreya SCserif

Alegreya SCがFPLに存在するため、置換が実行されます。

注記
注記: 意味

<default>のエイリアスは、このグループ(インストールされていない場合)の分類または組み込みであると考えてください。この例が示すように、<default>は常にこのグループの<prefer>および<accept>のエイリアスより前に配置する必要があります。

<default>の分類は、汎用のエイリアスのserif、sans-serif、および等幅に限定されません。複雑な例については、/usr/share/fontconfig/conf.avail/30-metric-aliases.confを参照してください。

例17.3「エイリアスとファミリ名の置換」に示す次のFontconfigスニペットは、serifグループを作成します。このグループのすべてのファミリは、前のフォントがインストールされていない場合、他のフォントを置換できます。

例 17.3 エイリアスとファミリ名の置換
<alias>
 <family>Alegreya SC</family>
 <default>
  <family>serif</family>
 </default>
</alias>
<alias>
 <family>Droid Serif</family>
 <default>
  <family>serif</family>
 </default>
</alias>
<alias>
 <family>STIXGeneral</family>
 <default>
  <family>serif</family>
 </default>
</alias>
<alias>
 <family>serif</family>
 <accept>
  <family>Droid Serif</family>
  <family>STIXGeneral</family>
  <family>Alegreya SC</family>
 </accept>
</alias>

優先度は、<accept>エイリアス内の順序によって決まります。同様に、それよりも強い<prefer>エイリアスを使用できます。

例17.2「エイリアスとファミリ名の置換」例17.4「エイリアスとファミリ名の置換」で拡張します。

例 17.4 エイリアスとファミリ名の置換
ルール4
<alias>
 <family>serif</family>
 <accept>
  <family>Liberation Serif</family>
 </accept>
</alias>
ルール5
<alias>
 <family>serif</family>
 <prefer>
  <family>DejaVu Serif</family>
 </prefer>
</alias>

例17.4「エイリアスとファミリ名の置換」の拡張された設定では、PFLは次のように展開されます。

表 17.3 FontconfigルールからのPFL生成結果

順序

現在のPFL

要求

Alegreya SC

ルール1

Alegreya SCserif

ルール2

Alegreya SCDroid Serifserif

ルール3

Alegreya SCDroid SerifserifSTIXGeneral

ルール4

Alegreya SCDroid SerifserifLiberation SerifSTIXGeneral

ルール5

Alegreya SCDroid SerifDejaVu SerifserifLiberation SerifSTIXGeneral

注記
注記: 意味
  • 同じ汎用名に対して複数の<accept>宣言が存在する場合、最後に解析された宣言が優先されます。システム全体の設定を作成する場合、可能であれば、ユーザ(/etc/fonts/conf.d/*-user.conf)の「後」に<accept>を使用しないでください。

  • 同じ汎用名に対して複数の<prefer>宣言が存在する場合、最後に解析された宣言が優先されます。可能であれば、システム全体の設定では、ユーザの「前」に<prefer>を使用しないでください。

  • 同じ汎用名に対しては、すべての<prefer>宣言が<accept>宣言よりも優先されます。ユーザが<prefer>だけでなく<accept>も自由に使用できるようにする場合、管理者はシステム全体の設定で<prefer>を使用しないようにする必要があります。一方、ユーザは通常<prefer>を使用するため、これが悪影響を及ぼさないようにする必要があります。また、システム全体の設定の<prefer>の使用も確認します。

17.2 その他の情報

X11に関する詳細情報を入手するには、xorg-docsパッケージをインストールしてください。man 5 xorg.confには、手動設定の形式に関する詳細情報が記載されています(必要な場合)。X11開発の詳細情報は、プロジェクトのホームページhttp://www.x.orgで参照できます。

ドライバは、xf86-video-*パッケージにあります(たとえば、xf86-video-nv)。パッケージで配布されるドライバの大半については、関連するマニュアルページに詳細が記載されてます。たとえば、nvドライバを使用する場合は、man 4 nvでドライバの詳細を参照できます。

サードパーティのドライバ情報は、/usr/share/doc/packages/<package_name>に記載されています。たとえば、x11-video-nvidiaG03の場合、パッケージのインストール後は、/usr/share/doc/packages/x11-video-nvidiaG03でマニュアルを参照できます。

このページを印刷