V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
cinlen
V2EX  ›  Terminal

ubuntu tty 上如何显示中文字符?

  •  
  •   cinlen · Jul 10, 2024 · 2849 views
    This topic created in 655 days ago, the information mentioned may be changed or developed.

    查了一圈资料,使用 fbterm 勉强实现了效果。

    但是效果惨不忍睹,如图: https://imgur.com/a/AeCSOjA

    想请教一下有没有更好的解决方式。

    Supplement 1  ·  Jul 10, 2024
    大家可能没注意,我说的是 tty 不是 pts 。

    我现在做的是:

    * 在 ubuntu boot 时把 login console 禁用掉,不让用户登录而是显示我写的输出程序 (只保留 tty1 可用, tty2~6 都会禁用掉)

    我遇到的问题是:tty 不支持中文字符,找到的解决方案大多和 framebuffer 有关(例如 fbterm),但是 fbterm 效果不佳,对用户来说体验比较差。
    Supplement 2  ·  Jul 10, 2024
    感谢大家,解决了。

    可行的方案大概有 3:

    1. fbterm
    2. 楼下说的内核补丁(没有尝试过)
    3. kmscon

    1 和 3 的原理大概是基于 framebuffer 进行重绘。 基于 3 ,把默认的 [email protected] 禁用掉,然后创建一个 [email protected] 取代即可。
    10 replies    2024-07-10 14:46:52 +08:00
    ysc3839
        1
    ysc3839  
       Jul 10, 2024 via Android
    换字体
    guanzhangzhang
        2
    guanzhangzhang  
       Jul 10, 2024   ❤️ 1
    kmscon 这个是 c 的,要是有个 golang 实现的就好了,静态编译,交叉编译
    dode
        3
    dode  
       Jul 10, 2024
    zsh ?
    sunwen4567
        4
    sunwen4567  
       Jul 10, 2024
    linux 内核加上 cjktty 补丁
    dant
        5
    dant  
       Jul 10, 2024
    换字体,喜欢点阵风格可以用 Unifont
    qaq44566
        6
    qaq44566  
       Jul 10, 2024
    @guanzhangzhang 底层的 mesa 用 go 做只会是 cgo 那一坨
    cinlen
        7
    cinlen  
    OP
       Jul 10, 2024
    @guanzhangzhang 看了一下 id 有点眼熟,发现是 github follow 的大佬。
    maoyikun
        8
    maoyikun  
       Jul 10, 2024
    diivL
        9
    diivL  
       Jul 10, 2024
    都可以跑 fbterm 了, 那不如直接跑个现代终端模拟器.
    mohumohu
        10
    mohumohu  
       Jul 10, 2024
    我也想知道怎么在 openwrt tty 里面显示中文字符
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   846 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 21:21 · PVG 05:21 · LAX 14:21 · JFK 17:21
    ♥ Do have faith in what you're doing.