首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Linux控制台字体还原回内核内置字体?

如何将Linux控制台字体还原回内核内置字体?
EN

Unix & Linux用户
提问于 2022-07-18 20:35:29
回答 1查看 230关注 0票数 2

默认情况下,我的Linux内核使用内置在内核中的大型16x32终端字体(与CONFIG_FONT_TER16X32一起)作为框架缓冲区控制台。

我刚刚安装了"kbd“包,运行没有参数的setfont,它切换到了屏幕上看起来很小的其他字体。setfont似乎只支持从文件中加载字体,而不支持内核的内置字体。此外,kbd包中不包含16x32结束字体。

那么,如何将控制台切换回系统启动时看到的默认内置字体呢?运行没有参数的setfont并不能做到这一点。我正在寻找一个非发行版的解决方案。

EN

回答 1

Unix & Linux用户

发布于 2022-07-22 12:22:20

我找不到可以这样做的现成工具,但是下面的C程序会将/dev/tty (如果是Linux )重置为默认字体:

代码语言:javascript
运行
复制
#include <fcntl.h>
#include <linux/kd.h>
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/types.h>

int main(int argc, char **argv) {
  struct console_font_op cfo = { .op = KD_FONT_OP_SET_DEFAULT };
  int fd;
  
  fd = open("/dev/tty", O_RDONLY);
  if (fd < 0) perror("Opening /dev/tty");
  else if (ioctl(fd, KDFONTOP, &cfo)) perror("Setting the default font");
}

将其保存到defaultfont.c,使用make defaultfont (不需要Makefile )构建它,并运行./defaultfont

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

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

复制
相关文章

相似问题

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