热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KaliLinux系统设置中文语言环境的步骤解析

文章出自个人博客https:knightyun.github.io20200415linux-chinese,转载请申明主流Linux系统安装之后,默认


文章出自个人博客https://knightyun.github.io/2020/04/15/linux-chinese,转载请申明



主流 Linux 系统安装之后,默认使用的语言环境基本都是英语,所以不管时图形桌面的菜单标题,还是终端的一些输出提示,都是展示的英文,对于觉得阅读英语不太友好的同胞们,第一件事可能就是设置一个友好的汉化环境,下面以 Kali Linux 这个发行版的系统为例,介绍一些设置中文语言环境的方法;


图形界面

如果安装的系统有图形界面,那么操作就简单了;一般系统在安装时就会提供语言选项,不过安装好后也能进行修改,一般可以在系统设置的区域与语言模块中找到相关的设置,例如下图:

至于其他 Linux 系统,路径应该类似,或者可以在设置里面搜索一下;修改成功需要重新登录生效,这个修改是永久性的;


终端命令

没有图形界面或者在设置里面没有找到的情况下,可以尝试使用终端命令进行修改;


安装中文环境包

切换中文环境之前,需要安装中文语言环境包,直接运行以下命令:

sudo dpkg-reconfigure locales# 上面的运行不成功可以尝试下面这条命令:
sudo dpkg-reconfigure --force locales

如果提示类似 locales 未找到这样的信息,那么就先运行 apt install locales 执行安装,然后再运行上面的命令,顺利的话会弹出一个对话框,选择需要安装的语言,因为中文包是 z 开头的,列表又是按字母顺序排列,所以使用方向箭头向下浏览到靠近底端位置,应该能看见这样一个选项:

[ ] zh_CN.UTF-8 UTF-8

然后把焦点移动到它上面,按下空格键选择,选中的话方括号中会出现星号,再按回车进入下一步,新的对话框会提示选择系统默认的语言设置,这时依然把焦点移动到和上面一样的选项上,最后按回车确认,代码运行完毕后如果没有报错,就安装完成了;


切换中文环境

接下来开始切换语言环境,先运行一下 locale 命令查看当前的语言环境,应该会得到以下输出(目前还是英语环境):

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

其实这些也都代表这当前系统的对应环境变量值,例如再运行 echo $LANG 就会得到输出 en_US.UTF-8,其他类似,所以我们修改的重点也是围绕其中的几个变量展开的;由于环境变量的特性,也可以再细分为两种方法;


临时性修改

直接在终端里输入以下命令的话,就能对当前语言的环境变量进行修改:

export LANG=zh_CN.UTF-8

注:这里只用修改 LANG 这个变量就行了,后面的其它以 LC 开头的变量值会自动改变;


然后再运行 locale 看一下效果:

LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

确实修改成功了,不过这条命令是临时性的,关闭当前终端或重启后就失效了,而且也仅限于当前终端内输出指定的语言,只适用于临时查看某个语言的输出内容的场景;


永久性修改

要永久性的修改语言环境,其实也就是永久性的修改 LANG 这个环境变量的值,要实现它就直接在 ~/.bashrc 这个文件中末尾追加下面一行内容:

export LANG=zh_CN.UTF-8

这样就对当前用户设置了中文语言环境,如果需要应用到系统所有用户的话,就追加到 /etc/profile 这个文件中;最后重启一下就设置成功了;


其它修改方法

一些教程中会提到修改 /etc/default/locale 这个文件的内容,其实上面的安装中文环境这一节中,最后一步其实就是向这个文件中写入以下内容:

LANG=zh_CN.UTF-8

不过经测试,这样修改后重启并没有改变当前语言环境,不过要是替换成下面的内容就能修改成功:

LANGUAGE=zh_CN.UTF-8

另外下面任意一条命令都能实现设置 /etc/default/loale 这个文件的内容:

sudo localectl set-locale LANGUAGE=zh_CN.UTF-8
sudo update-lcoale LANGUAGE=zh_CN.UTF-8

修改后重启运行 locale 得到的输出是这样的:

LANG=en_US.UTF-8
LANGUAGE=zh_CN.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

即最终只修改了 LANGUAGE 这一处的变量值,所以这个方法不怎么推荐;另外也有一些教程提到修改 /etc/sysconfig/i18n/etc/local.conf 这两个文件的内容,这应该是其它 Linux 发型版本中的,至少我在 Kali 系统里面没有找到这两个文件;


安装中文字体包

修改好中文环境重启后,还有可能出现的一种常见情况就是,终端或者菜单标题之类的地方出现乱码,也有可能出现先刚安装完系统后;其实原因也很简单,就是虽然环境被设置成了中文,但是当前系统中缺乏相应的中文字体,所以识别错误就用一些乱码来占位了;

解决方法就是安装一些中文字体包,比如可以运行:

sudo apt install fonts-wqy-microhei

安装完成后,按需重启,应该就能看见友好又熟悉的内容了 ^_^;




技术文章推送

手机、电脑实用软件分享



推荐阅读
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 使用 Babylon.js 实现地球模型与切片地图交互(第三部分)
    本文继续探讨在上一章节中构建的地球模型基础上,如何通过自定义的 `CameraEarthWheelControl` 类来实现更精细的地图缩放控制。我们将深入解析该类的实现细节,并展示其在实际项目中的应用。 ... [详细]
  • 页面预渲染适用于主要包含静态内容的页面。对于依赖大量API调用的动态页面,建议采用SSR(服务器端渲染),如Nuxt等框架。更多优化策略可参见:https://github.com/HaoChuan9421/vue-cli3-optimization ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • STM32代码编写STM32端不需要写关于连接MQTT服务器的代码,连接的工作交给ESP8266来做,STM32只需要通过串口接收和发送数据,间接的与服务器交互。串口三配置串口一已 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文探讨了在AspNetForums平台中实施基于角色的权限控制系统的方法,旨在为不同级别的用户提供合适的访问权限,确保系统的安全性和可用性。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
author-avatar
Emily嘿嘿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有