如果你是直接连接显示器到 Orange Pi 的 HDMI 接口,看到的是黑色背景的 TTY 字符界面,那么 printf 出现方块是因为该界面缺乏中文字库渲染引擎。

在没有图形桌面(GUI)的情况下,安装并配置 fbterm 是最经典的解决方案。请按照以下步骤操作:


第一步:更新源并安装 fbterm 和中文字体

首先,你需要确保系统里有中文字体文件,否则 fbterm 也没有东西可以调用。

Bash

# 1. 更新软件包列表
sudo apt update

# 2. 安装 fbterm 和 常用的文泉驿微米黑字体
sudo apt install fbterm fonts-wqy-microhei -y

第二步:配置权限(重要)

为了让普通用户(或非 root 环境)能直接运行 fbterm 并访问显卡显存(Framebuffer),建议执行以下命令:

Bash

# 给 fbterm 增加分配显存的权限
sudo chmod u+s /usr/bin/fbterm

第三步:运行并进入中文环境

现在你可以启动这个“增强版”终端了:

Bash

# 启动 fbterm
fbterm

启动后,你的屏幕会闪一下,进入一个新的命令行窗口。 此时你再尝试之前的测试:

Bash

printf "\u4f60\u597d\n"
cat /mnt/integrated-voice-service/start_voice_service.py

如果中文还是没出来,尝试指定字体运行:

fbterm -f "WenQuanYi Micro Hei"-s 14


第四步:设置开机自动进入中文环境(可选)

如果你希望以后每次登录都不用手动输入 fbterm,可以将它写进你的用户配置文件中:

  1. 编辑配置文件:

    Bash

    nano ~/.bashrc
    
  2. 在文件的最末尾添加以下逻辑:

    Bash

    # 如果在 TTY 环境下,且没启动 fbterm,则自动启动
    if [ "$TERM" = "linux" ]; then
        alias fbterm='fbterm -n "WenQuanYi Micro Hei" -s 14'
        fbterm
    fi
    
  3. Ctrl+O 保存,Ctrl+X 退出。


⚠️ 注意事项

  1. 退出 fbterm:如果你想回到原始的英文界面,输入 exit 即可。

  2. 快捷键:在 fbterm 中,你可以使用 Shift + PageUp / PageDown 来上下滚动屏幕(查看之前的日志)。

  3. 输入法fbterm 只是解决了“显示”中文的问题。如果你还需要在终端“输入”中文,则需要额外安装 ucimf 等工具,但在服务器开发(如你的语音服务项目)中,通常只需要解决“显示”即可。

现在你可以试着安装一下。如果启动 fbterm 报错(例如找不到 /dev/fb0),请告诉我,这可能涉及内核驱动的配置。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐