Arch Linux インストール (7) - 各設定

各設定
ここでは、色々な設定事項を解説しています。
フォント設定
# フォント設定 - ArchWiki

fontconfig で、フォントに関する設定を行うことができます。

インストールされているフォントのリストや、描画に関する設定などは、fontconfig で管理されています。
フォントを描画するプログラム側は、fontconfig から情報を取得して、それを元に FreeType ライブラリで描画する、というような形になっています。

* 2022年2月時点での情報です。
設定ファイル
ファイルは XML 形式で記述します。
ファイル名の先頭2桁の数字が優先度となり、数字の低い順に読み込まれます。

  • /usr/share/fontconfig/conf.avail/
    各設定ファイルの実体があります。
  • /usr/share/fontconfig/conf.default/
    デフォルトで使用される設定ファイルのリンクがあります。
    ../conf.avail へのリンクとなっています。
  • /etc/fonts/conf.d/
    実際に使用される設定ファイルを置くディレクトリ。
    fontconfig のインストール/更新時は、/usr/share/fontconfig/conf.default/*.conf ファイルへのリンクが作成されます。
    (ユーザーが作成したファイルはそのまま残ります)

fontconfig によってあらかじめ用意されている設定ファイルを使いたい場合は、/usr/share/fontconfig/conf.avail 内のファイルへのリンクを、/etc/fonts/conf.d に作成します。

ユーザーが新しく自分の設定を作る場合は、/etc/fonts/conf.d にファイルを作成します。

/etc/fonts/conf.d に存在しているデフォルトのファイルは、fontconfig の更新時に、/usr/share/fontconfig/conf.default 内のファイルとすべて同じになるように同期されるので、編集せずにそのままにしておきます。
LCD
液晶ディスプレイでは、LCD でアンチエイリアス描画すると、綺麗に見えます。
その場合、ディスプレイによって、色の順番を RGB・BGR・VRGB・VBGR のいずれかで指定する必要があります。
通常は RGB ですが、綺麗に見えない場合は、他の順番を試してみてください。

fontconfig の場合、10-sub-pixel-*.conf がサブピクセルの色順の設定ファイルになるので、このうち1つをリンクしてください。

また、LCD フィルターも一緒に指定すると良いでしょう。
11-lcdfilter-*.conf ファイルを使います。通常は default を使ってください。
※ 現在はデフォルトで 11-lcdfilter-default.conf が有効になっています。

# ln -fs /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d
埋め込みビットマップを有効にする
フォント内にアウトラインとビットマップのグリフがある場合、デフォルトでは、ビットマップは無効になっています。(常にアウトラインが使われる)
ビットマップが存在するフォントサイズの時に、ビットマップグリフを使いたい場合は、70-yes-bitmaps.conf を使ってください。

# ln -fs /usr/share/fontconfig/conf.avail/70-yes-bitmaps.conf /etc/fonts/conf.d
デフォルトフォントの設定
通常、デフォルトで使われるフォントは、serif, sans-serif, monospace などのファミリ名で指定されます。

fontconfig の設定で、これらのファミリ名を任意のフォントで置き換えると、デフォルトのフォントを変更することができます。

/etc/fonts/conf.d/69-japan.conf というように、新規の設定ファイルを作成して、以下のように記述してください。

ファミリ指定は 60 番台のファイルで行われているので、優先度を低くして、後に読み込まれるようにするため、69 番にします。
なお、65-nonlatin.conf では、日本語を含むいくつかのフォントが指定されていますが、リストで指定されたフォントがない場合、serif などのファミリーに置き換える、というような設定が行われています。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="pattern">
       <test qual="any" name="family"><string>serif</string></test>
       <edit name="family" mode="assign" binding="same"><string>IPAPMincho</string></edit>
    </match>
    <match target="pattern">
       <test qual="any" name="family"><string>sans-serif</string></test>
       <edit name="family" mode="assign" binding="same"><string>IPAPGothic</string></edit>
    </match>
    <match target="pattern">
       <test qual="any" name="family"><string>monospace</string></test>
       <edit name="family" mode="assign" binding="same"><string>IPAGothic</string></edit>
    </match>
</fontconfig>

serif は明朝体、sans-serif はゴシック体、monospace は等幅です。
ここでは、IPA フォントをそれぞれ設定しています。

上記の場合、<test> で指定された serif などのファミリ名にマッチした場合、<edit> でファミリ名を <string> 内の文字列に置き換える、という設定です。

つまり、fontconfig でファミリ名からフォントを検索した時、serif のファミリ名を IPAPMincho に置き換える、ということになります。

ファミリ名確認
指定するフォントの名前(ファミリ名)がわからない場合は、以下のコマンドで、インストールされているフォントの一覧を表示できます。

$ fc-list : family

':' は、すべてのファミリが対象という意味。
'family' で、ファミリ名だけ表示。

フォントには、英語名と日本語名(もしくは他の言語名)が含まれている場合があります。
指定する場合はどちらでも構いません。
Xresource
# X resources - ArchWiki

xterm や Wine など、アプリケーションによっては、fontconfig の設定を使わずにフォントを描画するものもあります。
X11 の場合は、Xft というライブラリでフォントを描画している場合があり、その場合は、~/.Xresources で描画の設定を行うことができます。

xorg-xrdb パッケージをインストールしてください。

~/.Xresources ファイルに、以下のように記述します。

Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintslight
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

! xterm 設定
xterm*termName:              xterm-256color
xterm*locale:                true
xterm*selectToClipboard:     true
xterm*faceName:              Dejavu Sans Mono
xterm*faceNameDoublesize:    IPAGothic
xterm*faceSize:              9
xterm*ximFont:               IPAGothic

行頭が ! で、コメントです。

Xft.* で、Xft によるフォント描画時の設定を行っています。

xterm* は、xterm の設定です。
faceName は ASCII 文字のフォント、faceNameDoublesize は、全角文字のフォントです。
適用
起動中に適用するには、以下のコマンドを実行します。

$ xrdb ~/.Xresources

一般的には、ログイン時に ~/.Xresources が読み込まれるので、再起動/再ログインでも適用されます。
テーマ
アイコン・カーソル・GUI のテーマは、以下のディレクトリにインストールします。

アイコン・カーソル/usr/share/icons/
~/.local/share/icons/
GUI テーマ/usr/share/themes/
~/.local/share/themes/

上記のディレクトリ内に、テーマごとにディレクトリを作って、その中に画像ファイルなどを置きます。

ただし、カーソルテーマに関しては、ユーザーディレクトリにインストールした場合、全体に適用されない場合があるので、基本的には /usr/share の方にインストールしてください。
アイコン
# アイコン - ArchWiki

Arch Linux の公式パッケージには、いくつかアイコンテーマが含まれているので、icon-theme で検索してみてください。
faenza-icon-theme がおすすめです。

アイコンのテーマは、GTK+/Qt などのツールキットごとに設定するので、共通のデフォルトテーマは設定できません。
各外観設定ツールで指定するなどしてください。
カーソル
# カーソルテーマ

テーマは、https://www.gnome-look.org/ などでダウンロードできるので、そちらを探してみてください。
シンプルなものであれば、OpenZone がおすすめです。

デフォルトのカーソルテーマの指定
/usr/share/icons/default/index.theme または ~/.local/share/icons/default/index.theme に、カーソルテーマを記述すると、デフォルトのカーソルテーマを指定できます。

[Icon Theme]
Inherits=OpenZone_White

OpenZone_White の部分が、カーソルテーマ名です。
各テーマのディレクトリ名を指定してください。
GUI テーマ
GTK+ のツールキットで描画される各部品の外観や、GNOME/MATE/Xfce などのデスクトップごとの GUI テーマは、https://www.gnome-look.org/ などで探してください。

GTK+ 用は各バージョン (GTK+2/GTK+3/GTK+4) ごとにファイルが分かれており、各デスクトップもバージョンによって違いがあるかもしれないので、古いテーマだと正しく表示できない場合があります。

GTK+ 用のテーマを指定する場合、バージョンによって設定するファイルが異なります。
外観設定ツールで指定すると良いでしょう。

# GTK - ArchWiki

シンプルなものでおすすめなのは、Zukitre です。
ただし、ビルド処理が必要になるので、説明書に従って、必要なパッケージをインストールの上、ファイルを生成してください。
外観設定ツール
統合デスクトップ環境の場合は、基本的にデスクトップの設定でテーマを選択できますが、そうでない場合は、設定ファイルを直接編集するか、lxappearance-gtk3 などの外観設定ツールを使います。