オペレーティングシステム:Ubuntu 18.04。私はそれが配布に依存しないと思います。 Arch Linuxは同じ原則を使用しますが、これを別の方法で実装します。
tty
ファイルを編集して設定したフォント/etc/default/console-setup
:
CODESET="guess"
FONTFACE="TerminusBold"
FONTSIZE="22x11"
フォントファイルはにあります/usr/share/consolefonts/
。psf
形式があります。
~からウィキペディア:
PCFフォント(PSF)は、現在Linuxカーネルがコンソールフォントに使用するビットマップフォント形式です。 PSFファイル形式のドキュメントはLinuxカーネルのソースコードにあります。
質問:
- カーネルはこのファイルをカーネル空間にロードしますか?
tty
.psf
それ以外の場合は、ファイル(カーネル内)にある文字をどのようにレンダリングしますか/usr/share/consolefonts/
?- 私は、信頼性とセキュリティ上の理由から、カーネルがユーザーファイル(カーネルモジュールを除く)を使用しない堅牢なコードスニペットだと思います。私は間違っていますか?それともコンソールフォントは例外ですか?
.psf
どのファイルがロードされたかをどのように確認できますか?/usr/share/consolefonts/
フォルダにはコードセットの異なるファイルがたくさんあるためですTerminusBold22x11.psf.gz
。どの特定のファイルが使用されるかを知りたいです。確認してみましたdmesg
が、syslog
そのような情報は見つかりませんでした。
ベストアンサー1
私は答えを見つけました4位Ubuntu 18.04の問題:
sudo strace -s99 setupcon 2>&1 | grep '.psf'
出力
read(3, "/etc/console-setup/cached_Uni2-TerminusBold22x11.psf.gz\n", 128)
説明する:
setupcon
このプログラムを使用すると、systemd
オペレーティングシステムの起動時にコンソール設定を指定できます。このファイルで見ることができます。/lib/systemd/system/console-setup.service
したがってsetupcon
、手動で繰り返すとstrace
システムコールを実行し、使用されたフォントファイルを見つけることができます。
インストーラ コンソールにフォントとキーボードをすばやく簡単に設定できるプログラムです。ほとんどの場合、パラメータなしでsetupconを呼び出します。キーボード構成は ~/.keyboard または /etc/default/keyboard で指定されます。フォント構成は以下で指定します。 ~/.console-設定または/etc/default/コンソール設定。