locale 环境变量及其作用如下:变量 | 说明 |
LANG | 设置系统的默认语言和字符编码。其他未设置的 LC_* 变量将使用 LANG 变量的值。 |
LC_CTYPE | 控制字符分类和转换,例如字符的大小写转换、字符集和编码等。还影响输入法和终端中的字符显示。 |
LC_NUMERIC | 控制数字的显示格式,例如小数点符号和千位分隔符等。 |
LC_TIME | 控制日期和时间的显示格式,例如星期名、月份名、日期顺序等。 |
LC_COLLATE | 控制字符串比较和排序的规则。影响文件名排序和命令行参数排序等操作。 |
LC_MONETARY | 控制货币的显示格式,例如货币符号、正负数表示等。 |
LC_MESSAGES | 控制系统消息和提示的语言。影响程序的错误消息、帮助信息等文本输出。 |
LC_PAPER | 控制打印和页面设置的默认纸张尺寸。 |
LC_NAME | 控制个人名字的显示格式,例如姓名顺序、姓名缩写等。 |
LC_ADDRESS | 控制地址的显示格式,例如国家名、城市名、邮政编码等。 |
LC_TELEPHONE | 控制电话号码的显示格式,例如国家代码、区号等。 |
LC_MEASUREMENT | 控制度量单位的显示格式,例如公制或英制单位。 |
LC_IDENTIFICATION | 控制元数据的显示格式,例如语言代码、国家代码等。 |
/etc/locale.conf 文件,系统默认配置为 LANG="C.UTF-8",在 systemd 初始启动时会读取该文件进行系统环境配置。/etc/locale.conf 文件内容:cat /etc/locale.conf
# This is the fallback locale configuration provided by systemd.LANG="C.UTF-8"
locale 命令查看当前 locale 配置,其他未设置的 LC_* 变量都将使用 LANG 变量的值:locale
LANG=C.UTF-8LC_CTYPE="C.UTF-8"LC_NUMERIC="C.UTF-8"LC_TIME="C.UTF-8"LC_COLLATE="C.UTF-8"LC_MONETARY="C.UTF-8"LC_MESSAGES="C.UTF-8"LC_PAPER="C.UTF-8"LC_NAME="C.UTF-8"LC_ADDRESS="C.UTF-8"LC_TELEPHONE="C.UTF-8"LC_MEASUREMENT="C.UTF-8"LC_IDENTIFICATION="C.UTF-8"LC_ALL=
C.UTF-8:localectl list-locales
C.UTF-8en_AU.UTF-8en_BW.UTF-8en_CA.UTF-8en_DK.UTF-8en_GB.UTF-8en_HK.UTF-8en_IE.UTF-8en_NZ.UTF-8en_PH.UTF-8en_SC.UTF-8en_SG.UTF-8en_US.UTF-8en_ZA.UTF-8en_ZW.UTF-8zh_CN.UTF-8zh_HK.UTF-8zh_SG.UTF-8zh_TW.UTF-8
语言_地区.字符集编码。常见的中文和英文 locale 定义如下:zh_CN.UTF-8:表示语言为中文 zh,地区为中国大陆 CN,字符集编码为 UTF-8。en_US.UTF-8:表示语言为英文 en,地区为美国 US,字符集编码为 UTF-8。System Locale 指明系统使用的默认 LANG 值,默认为 C.UTF-8:localectl status
System Locale: LANG=C.UTF-8VC Keymap: n/aX11 Layout: n/a
C.UTF-8 采用标准 C 作为语言环境,但字符编码为 UTF-8。字符串排序和比较基于字节值而非特定语言规则,日期、时间和数字格式使用基本的英语表示。使用 C.UTF-8 不依赖特定的本地化设置,可确保程序在不同系统之间具有更好的兼容性和可移植性。本系统使用 C.UTF-8 作为默认 locale。localectl 命令对语言和地区进行设置,不建议直接修改 /etc/locale.conf 文件。sudo localectl set-locale zh_CN.UTF-8
reboot
localectl --help。概念 | 说明 |
世界协调时 UTC(Universal Time Coordinated) | 最主要的世界时间标准,以原子时的秒长为基础,与时区无关。 |
时区 | 基于用户所在地区的时间标准。 |
硬件时钟(Real-Time Clock, RTC) | 由主板上电池供电的物理时钟,系统电源掉电后仍可正常运行。 |
系统时钟(System Clock) | 系统启动过程中根据硬件时钟计算初始值,启动后独立于硬件时钟运行。 |
timedatectl 与 date 都是 Linux 系统中用于管理和显示日期和时间的命令,但功能有所不同:命令 | 说明 |
timedatectl | systemd 工具,侧重于管理系统时钟和时区设置,可同时修改系统时间和硬件时间。 |
date | UNIX 工具,主要用于查看和设置当前日期和时间,只会修改系统时间,需配合 hwclock 修改硬件时间。 |
timedatectl list-timezones
Africa/AbidjanAfrica/AccraAfrica/Addis_AbabaAfrica/AlgiersAfrica/AsmaraAfrica/Asmera...
timedatectl status
Local time: Mon 2023-05-08 16:19:13 CST # 本地时间Universal time: Mon 2023-05-08 08:19:13 UTC # UTC 时间RTC time: Mon 2023-05-08 08:19:13 # RTC 时间Time zone: Asia/Beijing (CST, +0800) # 时区System clock synchronized: no # NTP 同步情况NTP service: active # NTP 启用状态RTC in local TZ: no # RTC 是否使用本地时间
<TIMEZONE> 替换为目标时区,例如 Asia/Shanghai:timedatectl set-timezone <TIMEZONE>
timedatectl set-time <YYYY-MM-DD> # 仅修改系统日历的年月日部分,时间部分保持不变timedatectl set-time <HH:MM:SS> # 仅修改系统时钟的时分秒部分,日期部分保持不变
<BOOL> 替换为 true 或 false,该操作会修改 NTP service 的状态:timedatectl set-ntp <BOOL>
date
date --utc
date +"format" 实现。关于 format 格式的详细说明,请执行 man date 查看手册:date +%y%m%d
230508
date +"%D %H:%M:%S"
05/08/23 17:48:31
date --set <YYYY-MM-DD> # 将系统日期设置为指定值,时间部分保持不变date --set <HH:MM:SS> # 将系统时间设置为指定值,日期部分保持不变
hwclock
MM/DD/YYYY HH:MM 替换为实际日期和时间:hwclock --set --date "MM/DD/YYYY HH:MM"
hwclock --hctosys
hwclock --systohc
timedatectl --help,或参考 man timedatectl(1)、man date(1)、man hwclock(8)。localectl 可以设置当前系统的键盘布局。localectl list-keymaps
alal-plisiatat-macat-nodeadkeysazba...
localectl status
System Locale: LANG=en_US.UTF-8VC Keymap: n/aX11 Layout: n/a
us 替换为目标键盘布局为例,需以 root 用户执行:sudo localectl set-keymap us
fontconfig 进行字体管理。fontconfig 软件包,用于后续的字体管理操作。fontconfig:yum install fontconfig
fc-list
fc-list :lang=zh
dnf list *cjk-sc*
Last metadata expiration check: 3:44:09 ago on Thu May 25 13:03:02 2023.Available Packages# 简体中文无衬线字体google-noto-sans-cjk-sc-fonts.noarch 20201206-4.ocs23 AppStream# 简体中文等宽字体google-noto-sans-mono-cjk-sc-fonts.noarch 20201206-4.ocs23 AppStream# 简体中文衬线字体google-noto-serif-cjk-sc-fonts.noarch 20201206-4.ocs23 AppStream
dnf install google-noto-sans-cjk-sc-fonts.noarch
fc-list :lang=zh
/usr/local/share/fonts/ 目录下:mkdir -p /usr/local/share/fonts/new_fontscp example.ttf /usr/local/share/fonts/new_fonts
~/.local/share/fonts/ 中:mkdir -p ~/.local/share/fonts/new_fontscp example.ttf ~/.local/share/fonts/new_fonts
fc-cache
fc-list | grep -i new_fonts
fc-match Font-Name
fc-list --help。dnf groupinstall 'Server with GUI'
systemctl set-default graphical.target
reboot
dnf install ibus-libpinyin
dnf install ibus-table-chinese-wubi-haifeng
dnf install ibus-table-chinese-wubi-jidian
reboot
Chinese(China),添加所需的输入法。GNOME 在菜单栏上会显示当前选择的输入源,默认切换输入法快捷键为 Super + 空格,其中 Super 键通常为 Windows 键(徽标键)。dnf list ibus-table-chinese*
Last metadata expiration check: 2:34:07 ago on Thu May 25 13:03:02 2023.Available Packagesibus-table-chinese.noarch 1.8.11-3.ocs23 AppStream# 行列输入法ibus-table-chinese-array.noarch 1.8.11-3.ocs23 AppStream# 仓颉输入法ibus-table-chinese-cangjie.noarch 1.8.11-3.ocs23 AppStream# 广东话输入法ibus-table-chinese-cantonese.noarch 1.8.11-3.ocs23 AppStream# 基于耶鲁拼音的粤语输入法ibus-table-chinese-cantonyale.noarch 1.8.11-3.ocs23 AppStream# 轻松输入法ibus-table-chinese-easy.noarch 1.8.11-3.ocs23 AppStream# 二笔输入法ibus-table-chinese-erbi.noarch 1.8.11-3.ocs23 AppStream# 速成输入法ibus-table-chinese-quick.noarch 1.8.11-3.ocs23 AppStream# 快速仓颉输入法ibus-table-chinese-scj.noarch 1.8.11-3.ocs23 AppStream# 笔顺五码输入法ibus-table-chinese-stroke5.noarch 1.8.11-3.ocs23 AppStream# 上海吳语注音输入法ibus-table-chinese-wu.noarch 1.8.11-3.ocs23 AppStream# 海峰五笔输入法ibus-table-chinese-wubi-haifeng.noarch 1.8.11-3.ocs23 AppStream# 极点五笔86输入法 极爽词库 6.0ibus-table-chinese-wubi-jidian.noarch 1.8.11-3.ocs23 AppStream# 永码输入法ibus-table-chinese-yong.noarch 1.8.11-3.ocs23 AppStream
文档反馈