A40i開(kāi)發(fā)板,Linux系統(tǒng)如果設(shè)置中文輸入法

原創(chuàng) 2023-03-09 15:41:00 a40i linux如何設(shè)置中文 linux中文輸入 linux系統(tǒng)中文顯示

本文主要介紹在Linux系統(tǒng)中,如何設(shè)置中文輸入語(yǔ)音?當(dāng)你試著在Linux系統(tǒng)里面輸入中文,會(huì)呈現(xiàn)一片亂碼在你面前,這是因?yàn)長(zhǎng)inux系統(tǒng)的默認(rèn)語(yǔ)言是英文。但是如果可以顯示中文的話,那么在使用過(guò)程中的便利程度一定會(huì)大大提升。今天小編就通過(guò)飛凌嵌入式的OKA40i-C開(kāi)發(fā)板來(lái)為大家演示讓Linux系統(tǒng)顯示中文的修改方法。

A40i

點(diǎn)擊索取產(chǎn)品資料



正文開(kāi)始:A40i Linux系統(tǒng)如何支持中文輸入法


STEP 1

如果之前使用的是全源碼編譯方式對(duì)源碼進(jìn)行編譯處理的,就可以直接往下走;如果之前有更改過(guò)源碼部分,且使用的是單步編譯,則需要重新解壓一份OKA40i-C開(kāi)發(fā)板的源碼,進(jìn)入該源碼的lichee文件夾,執(zhí)行sudo ./build.sh進(jìn)行一次全編譯,耗時(shí)會(huì)有點(diǎn)長(zhǎng),需要耐心的等待。

STEP 2

在新的源碼全編譯的過(guò)程中,到之前使用的源碼里面做一些準(zhǔn)備工作吧;要是更改過(guò)程中遇到只讀等權(quán)限問(wèn)題,打開(kāi)的時(shí)候加上sudo就好了。

01. 

首先在lichee下面找到linux-3.10/.config這個(gè)配置文件,將里面的iso8859-1全部替換成utf8,就像下面這樣,一共有兩處。行前面的“-”表示去掉,“+”表示添加上。

FAT使用的默認(rèn)輸入/輸出字符集:

-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"


掛載文件系統(tǒng)時(shí)使用的默認(rèn)NLS

-CONFIG_NLS_DEFAULT=" iso8859-1"

+CONFIG_NLS_DEFAULT="utf8"

02. 

out/sun8iw11p1/linux/common/buildroot/target/etc/inputrc 

在上方lichee中的文件中添加兩行命令

03. 

lichee/out/sun8iw11p1/linux/common/buildroot/target/root

然后到上方路徑下創(chuàng)建一個(gè).vimrc文件,打開(kāi).vimrc文件,在里面添加上三行命令:

set fileencodings=utf-8,gb2312,gbk,gb18030

set termencoding=utf-8

set encoding=utf8

STEP 3

現(xiàn)在,新的源碼已經(jīng)全部編譯完成了,在新源碼的里面找到busybox-1.25.1這個(gè)文件夾。進(jìn)入以下路徑:

lichee/out/sun8iw11p1/linux/common/buildroot/build/busybox-1.25.1

01. 

執(zhí)行make menuconfig ARCH=arm進(jìn)入busybox的圖形化編輯界面。

Busybox Settings  ---> General Configuration  --->

[*] Enable locale support (system needs locale for this to work)

[*] Support Unicode

[*] Use libc routines for Unicode (else uses internal ones)

(65533) Character code to substitute unprintable characters with

(195102) Range of supported Unicode characters

更改好之后一路Exit退出,最后選擇yes保存配置。

02. 

然后更改busybox-1.25.1文件夾路徑下的文件
libbb / printable_string.c,

搜索0x7f,刪除以下兩行:

將這里更改為

-if (c < ' ' || c >= 0x7f)

+if (c < ' ')



03. 

更改libbb/unicode.c文件,先找到這樣一段:static char* FAST_FUNC。然后將里面的1022行和1030行進(jìn)行修改:

*d++ = (c >= ' ' && c < 0x7f) ? c : '?';

修改為*d++ = (c >= ' ') ? c : '?';

if (c < ' ' || c >= 0x7f)

修改為if (c < ' ')

修改完成之后,刪除.stamp_built文件和.stamp_target_installed文件,返回到lichee文件夾下面,重新進(jìn)行全編譯sudo ./build.sh操作。

在out/sun8iw11p1/linux/common/buildroot/target/bin路徑后面會(huì)生成一個(gè)busybox的可執(zhí)行文件,將這個(gè)叫busybox的可執(zhí)行文件替換到需要中文源碼的相同路徑下面——

lichee/out/sun8iw11p1/linux/common/buildroot/target/bin里面。

STEP 4

最后,在需要中文的那一份源碼里面進(jìn)行內(nèi)核編譯,打包文件系統(tǒng),打包鏡像操作,再將鏡像燒錄到OKA40i-C開(kāi)發(fā)板里面就可以顯示中文了。

sudo ./build.sh -m kernel

sudo ./build.sh -m pack_rootfs

sudo ./build.sh pack

最后我們來(lái)驗(yàn)證一下??梢钥吹酱藭r(shí)已經(jīng)可以直接進(jìn)行中文輸入了,并且和windows對(duì)接的中文文件可以直接顯示查看。



結(jié)語(yǔ)

Linux系統(tǒng)中文顯示的更改其實(shí)就是更改內(nèi)核的字符集和打開(kāi)busybox的顯示封鎖,第一次編譯好后,以后需要中文的busybox可以直接使用這次的busybox進(jìn)行替換,節(jié)省了很多的工作量。更改完成之后就可以在OKA40i-C開(kāi)發(fā)板的Linux系統(tǒng)上面編輯和查看中文了。



相關(guān)產(chǎn)品 >

  • FETA40i-C核心板

    Allwinner A40i是全志開(kāi)發(fā)的一款工業(yè)級(jí)處理器,A40i作為全國(guó)產(chǎn)工業(yè)級(jí)芯片中的佼佼者,采用更低功耗的4核ARM Cortex-A7架構(gòu),工作溫度-40-85℃,是一款高性能低功耗超高性能CPU主芯片。飛凌嵌入式深度研究全志A40i芯片參數(shù)、原理圖、datasheet規(guī)格書(shū)推出了以FETA40i核心板為主的一系列全國(guó)產(chǎn)工業(yè)級(jí)嵌入式計(jì)算機(jī)板卡,并提供了用于評(píng)估的A40i工控板、 A40i開(kāi)發(fā)板。 了解詳情
    FETA40i-C核心板
  • OKA40i-C開(kāi)發(fā)板

    國(guó)產(chǎn)工業(yè)級(jí),高清輸出,豐富接口|OKA40i開(kāi)發(fā)板采用底板+核心板結(jié)構(gòu),基于全志工控行業(yè)平臺(tái)級(jí)處理器四核Cortex-A7 A40i設(shè)計(jì),主頻1.2GHz,集成MAli400MP2 GPU,內(nèi)存1GB/2GB DDR3L,存儲(chǔ)8GB eMMC。 全志A40i工控行業(yè)芯片平臺(tái) A40i為國(guó)產(chǎn)工控行業(yè)芯,全志A40i處理器代表了Allwin在智能工業(yè)控制領(lǐng)域的成就。飛凌嵌入式A40i系列OKA40i-C開(kāi)發(fā)板是飛凌推出的一款中國(guó)芯,全國(guó)產(chǎn)級(jí)工業(yè)級(jí)開(kāi)發(fā)板,適用于適用于基于視覺(jué)交互的工業(yè)控制產(chǎn)品 了解詳情
    OKA40i-C開(kāi)發(fā)板

推薦閱讀 換一批 換一批