首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核是否使用来自/usr/share/控制台的字体?运行内核安全吗?

Linux内核是否使用来自/usr/share/控制台的字体?运行内核安全吗?
EN

Unix & Linux用户
提问于 2018-10-06 17:18:14
回答 1查看 1.2K关注 0票数 0

操作系统: Ubuntu 18.04。我认为它是独立于分销的。Arch使用了相同的原则,但采用了另一种方式。

我通过编辑tty文件设置/etc/default/console-setup‘S字体:

代码语言:javascript
复制
CODESET="guess"
FONTFACE="TerminusBold"
FONTSIZE="22x11"

字体的文件位于/usr/share/consolefonts/中。它有psf格式。

来自维基百科

PC屏幕字体(PSF)是Linux内核当前用于控制台字体的位图字体格式。PSF文件格式的文档可以在Linux内核的源代码中找到。

问题:

  1. 内核是否将该文件加载到内核空间?
  2. 如果没有,那么tty (驻留在内核中)如何从驻留在/usr/share/consolefonts/中的.psf文件中呈现字符?
  3. 我认为内核是一段可靠的代码,出于可靠性和安全性的考虑,它不使用任何用户文件(内核模块除外)。我说错了吗?还是控制台字体是例外?
  4. 如何检查具体加载了哪个.psf文件?因为/usr/share/consolefonts/文件夹有许多TerminusBold22x11.psf.gz文件,具有不同的代码集。我想知道使用了哪个特定的文件。我检查了dmesgsyslog,但是没有在那里找到这样的信息。
EN

回答 1

Unix & Linux用户

发布于 2018-10-06 23:18:54

我找到了Ubuntu 18.04第四个问题的答案:

代码语言:javascript
复制
sudo strace -s99 setupcon 2>&1 | grep '.psf' 

输出

代码语言:javascript
复制
read(3, "/etc/console-setup/cached_Uni2-TerminusBold22x11.psf.gz\n", 128)

解释:

通过使用setupcon程序,systemd在操作系统引导上执行控制台设置。它可以在以下文件中查看:/lib/systemd/system/console-setup.service。因此,通过手动重复setupcon,我们可以strace其系统调用并找到使用的字体文件。

setupcon是一个用于在控制台上快速方便地设置字体和键盘的程序。大多数情况下,调用setupcon时不带参数。键盘配置在~/.键盘或/etc/默认/键盘中指定。字体配置在~/.控制台-安装或/etc/默认/控制台-设置中指定。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/473663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档