.Xresourcesを使用するときにurxvtにフォントパスを追加する方法は?

.Xresourcesを使用するときにurxvtにフォントパスを追加する方法は?

xset +fp /usr/share/fonts/terminus を使用すると urxvt を起動し、以下を使用して目的のフォント (ターミナル) のサポートを得ることができます。

urxvt -fn -*-terminus-*-*-*-*-*-*-*-*-*-*-*-*

しかし、.Xresourcesではこれはどうなりますか? .Xresourcesのフォントサイズを変更する方法を教えてください。

Gentooシステムです。

単に以下を試すだけではうまくいかないようです。

URxvt*font: xft:terminus:pixelsize=26

私が知っている限り、urxvtはXLFDとFontconfigという2つのフォントシステムを使用します。下のリンクhttps://wiki.gentoo.org/wiki/Rxvt-unicode#Fontこれの一部を説明しようとしています。しかし、彼らが提供する例をそのままコピーしても、urxvtで使用されている実際のフォントには何の影響もありません。

私はそれが私のシステムでひどいように見えるデフォルトのフォントを使用していると思います。

urxvtのデバッグと詳細なフラグを見つけようとしましたが、そのマニュアルページにフラグがリストされていません。問題は、他の端末でurxvtを起動しても、urxvtがどのフォントを試しているのか、どこで見つけようとしているのかについてのフィードバックを提供しないことです。

利用可能なフォントを一覧表示するためにfc-listを試しました。ただし、ここにXLFDまたはFontconfigで使用できるフォントがリストされているかどうかはわかりません。それでもランダムにいくつか試してみましたが、まだ何も起こりませんでした。

ベストアンサー1

コメントで述べたように を使用する場合は、.Xresources以下を実行する必要があります。

xrdb -merge ~/.Xresources

ファイルを変更した後。または編集することもできます~/.Xdefaults(しかし、それを使用したい人はxrdbそれに反対していると助言します)。

いずれにせよ、あなたのリソースパターンは次のように私に適しています。

urxvt -fn 'xft:terminus:pixelsize=20'

(ワイルドカードは私には適していません。)を使用すると、strace「Term」または「term」を見つけるときにどのファイルが開いているかを確認できます。デバッグ機能として役立ちます。

execve("/usr/bin/urxvt", ["urxvt", "-fn", "xft:terminus:pixelsize=25"], [/* 61 vars */]) = 0
read(7, "#! perl\n\nuse POSIX ();\n\nmy $term"..., 8192) = 1223
access("/etc/fonts/conf.d/50-enable-terminus.conf", R_OK) = 0
stat("/etc/fonts/conf.d/50-enable-terminus.conf", {st_mode=S_IFREG|0644, st_size=254, ...}) = 0
open("/etc/fonts/conf.d/50-enable-terminus.conf", O_RDONLY) = 9
open("/users/tom/.icons/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/icons/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/pixmaps/default/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/users/tom/.icons/oxy-black/cursors/xterm", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/icons/oxy-black/cursors/xterm", O_RDONLY) = 7
open("/var/run/utmp", O_RDWR|O_CLOEXEC) = -1 EACCES (Permission denied)
read(7, "/usr/build/xterm/xterm-325f (101"..., 2048) = 34
chown("/dev/pts/3", 0, 0)               = -1 EPERM (Operation not permitted)

フォント情報を含むファイルは次のとおりです。

/etc/fonts/conf.d/50-enable-terminus.conf

私のシステムでは、以下が含まれます。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <selectfont>
    <acceptfont>
      <pattern>
        <patelt name="family"><string>terminus</string></patelt>
      </pattern>
    </acceptfont>
  </selectfont>
</fontconfig>

urxvtいいえバラより特定のフォントについて。 Keith Packardによって作成されたXftライブラリを介してFontconfigへの呼び出しを設定します。ソースコードを読み、urxvtこれがどのように行われるかを確認できます。

Fontconfigを含むXftの注目すべき(バグ付き)機能の1つは、エラー報告機能がないことです。必要なフォントが見つからない場合尋ねるなぜなら、引き続きデフォルトのフォントを提供するからです。を使用すると、strace少なくとも正しいフォントプロファイルが使用されていることを確認できます。

おすすめ記事