如何找到 XTerm 使用的默认(字体)资源?

如何找到 XTerm 使用的默认(字体)资源?

如果我xterm使用其默认位图字体启动,然后从“VT 字体”菜单中选择“大”字体(通过ctrl+right mouse),我将获得一个非常有用的位图字体,并且具有明显良好的日语字符支持。

我想知道这个字体是什么这样我就可以在其他地方使用它。不幸的是,我没有找到有关 XTerm 使用哪些默认设置的信息(即没有明确指定时)。很多网站都展示了如何使用 X 资源来指定新设置(例如特定字体),但我见过没有一个网站说明如果我什么都不做,会使用什么默认值。

我尝试过观察字体,它看起来与 相似并且宽度相同9x15,但它使用了更多的垂直空间。不过,它似乎没有9x15不同的行间距,因为直接指定此字体无法显示“大”可以很好处理的一些日语字符。

虽然我很高兴知道这个特定字体是什么,但我真的想知道在哪里可以找到XTerm 默认使用什么资源更普遍。如果有什么区别的话,我正在运行 Ubuntu 12.04 LTS,64 位。

[我见过这个问题已经关于这个主题了,这就是为什么我特别询问默认值而不是尝试从正在运行的 XTerm 获取实时值。]

答案1

appres实用程序列出了应用程序使用的资源,包括用户资源和默认资源。

appres XTerm xterm

第一个参数是类名 ( xterm -class Xxx)。第二个参数是可选的,是实例名称 ( xterm -name xxx)。

“大”字体是.VT100.font5.VT100.utf8Fonts.font5。是否使用请看说明书.utf8Fonts,有点复杂。如果*.VT100.font5?.VT100.font5以及 和XTerm.VT100.font5中有多个xterm.VT100.font5,则适用此列表中的最后一个;看到X 文档了解资源名称优先级的详细信息。

appres XTerm | grep font5

答案2

您可以使用lsof给定进程 ID 列出所有文件,并使用 grep 查找字体。

lsof  -p <process_id_of_xterm> | grep fonts

例如,

lsof -p `ps -a | grep xterm | cut -d' ' -f1` | grep fonts

示例输出:

$ lsof -p `ps -a | grep xterm | cut -d' ' -f1` | grep fonts
xterm   17560 testuser  mem    REG  253,1    137272  9154732 /usr/share/fonts/liberation/LiberationSans-Bold.ttf
xterm   17560 testuser  mem    REG  253,1    139628  9154735 /usr/share/fonts/liberation/LiberationSans-Regular.ttf

答案3

  • 对于字体:xterm -report-fonts.
  • 对于颜色:xterm -report-colors.

答案4

您可以通过运行找到默认字体

$ fc-match mono

这是解释(来自Arch-Wiki

xterm的默认字体是由 X 逻辑字体描述别名固定命名的位图字体,通常解析为

-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-?

这种字体也别名为 6x13,对 unicode 字形的覆盖范围非常广。默认的“TrueType”字体是与名称 mono 匹配的 14 点字体。可以使用以下命令找到将使用的 FreeType 字体:

$ fc-match mono

相关内容