Linux:非root、普通用户安装rpm(fontconfig、fc-cache命令)、中文字体

2023-11-19

前提

非root帐号,普通帐号,不能使用yum、rpm命令、没root权限

安装fontconfig

测试是否安装

安装字体后需要使用fontconfig包的fc-cache -fv命令刷新字体缓存,可以使用下面命令测试,二选一就行

fc-list
fc-cache -fv

如果出现如下报错,就是没装

-bash: fc-list: 未找到命令
-bash: fc-cache: 未找到命令

下载rpm包

选一个用户有权限的目录,只下载不安装,到一个没安装过fontconfig的服务器执行

yum -y install --downloadonly  fontconfig

得到四个rpm包

(1/4): dejavu-fonts-common-2.33-6.el7.noarch.rpm | 64 kB 00:00:05
(2/4): fontconfig-2.13.0-4.3.el7.x86_64.rpm | 254 kB 00:00:05
(3/4): dejavu-sans-fonts-2.33-6.el7.noarch.rpm | 1.4 MB 00:00:05
(4/4): fontpackages-filesystem-1.44-8.el7.noarch.rpm | 9.9 kB 00:00:10

解压rpm包

在rpm目录解压rpm包

rpm2cpio dejavu-fonts-common-2.33-6.el7.noarch.rpm | cpio -id
rpm2cpio dejavu-sans-fonts-2.33-6.el7.noarch.rpm | cpio -id
rpm2cpio fontconfig-2.13.0-4.3.el7.x86_64.rpm | cpio -id
rpm2cpio fontpackages-filesystem-1.44-8.el7.noarch.rpm | cpio -id

解压后出现etc和usr两个文件夹

etc/fonts/fonts.conf 是fc-list需要使用的配置文件,如果后面不指定这个文件的位置,会报错如下

Fontconfig error: Cannot load default config file

安装字体

上传字体

找到字体上传到Linux,从Windows自己的font文件夹找或者跟别人要

安装脚本

脚本如下,写了注释,具体的etc、usr路径需要根据实际情况设置

source /etc/profile

# 创建用户的字体目录,这个目录路径是固定的
mkdir -p ~/.fonts
# 将脚本目录的fonts文件夹的文件都拷贝到用户字体目录
cp -r fonts/* ~/.fonts
# 获取当前目录路径
d_name=$(cd `dirname $0`; pwd)
# 设置fontconfig配置文件的路径
echo  "export FONTCONFIG_FILE=${d_name}/etc/fonts/fonts.conf" >> ~/.bash_profile
# 设置path,包括bin(目录所在目录)
echo  "export PATH="${d_name}/usr/bin:$PATH"" >> ~/.bash_profile
echo  "export MANPATH="${d_name}/usr/share/man:$MANPATH"" >> ~/.bash_profile
# 设置库文件路径
L='/lib:/lib64:/usr/lib:/usr/lib64'
echo  "export LD_LIBRARY_PATH="${d_name}/usr/lib:${d_name}/LibreOffice/usr/lib64:$L"" >> ~/.bash_profile
# 刷新用户环境变量
source ~/.bash_profile
# 刷新字体缓存
fc-cache -fv

安装完输入fc-list就可以看到执行成功

如果还有问题就根据问题再自行解决吧,大致思路是上面的

–20221216更新,解决环境变量导致的部分命令无法使用问题,将自定义的目录放在前面,找不到命令时找系统自己的命令

#!/bin/bash
#

mkdir -p ~/.fonts

/usr/bin/cp -rf fonts/* ~/.fonts

d_name=$(cd `dirname $1`; pwd)
echo ${d_name}

path=`pwd`

echo  "export FONTCONFIG_FILE=${d_name}/mydir/etc/fonts/fonts.conf" >> ~/.bash_profile
echo  "export PATH="../../mydir/usr/sbin:../../mydir/usr/bin:../../mydir/bin:$PATH:${d_name}/mydir/usr/sbin:${d_name}/mydir/usr/bin:${d_name}/mydir/bin"" >> ~/.bash_profile
echo  "export MANPATH="../../mydir/usr/share/man:$MANPATH:${d_name}/mydir/usr/share/man"" >> ~/.bash_profile
L='/lib:/lib64:/usr/lib:/usr/lib64'
echo  "export LD_LIBRARY_PATH="../../mydir/usr/lib:../../mydir/usr/lib64:$L:${d_name}/mydir/usr/lib:${d_name}/mydir/usr/lib64"" >> ~/.bash_profile

	
source ~/.bash_profile

fc-cache -fv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux:非root、普通用户安装rpm(fontconfig、fc-cache命令)、中文字体 的相关文章

随机推荐

  • Error creating bean with name ‘com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration‘:

    报错图 原因分析 与MybatisPlusProperties的配置有关 该配置用于配置MyBatis Plus的全局设置 BindException表示在将mybatis plus global config db config前缀下的属
  • 凛冬已至 冰凌垂挂 岁末年初

    时光荏苒 岁月蹉跎 时间一分一秒从我们身边流过 岁月的脚步声也是越来越小 还没来得及跟眼前的2022挥手道别 2023已经出现在我们的眼前向我们问好 2023 就是新的一年 总会给我们带来无数的幻想和憧憬 虽然现在的我还没有一个真正的新年
  • QT基础学习(12)---事件过滤

    文章目录 事件过滤 一 事件过滤 实现该功能的方法就是在目标部件 自定义的图片显示部件 上注册事件过滤器 此时的事件过滤器就是我们所说的监视对象 完成这些步骤之后 当目标部件有事件产生后 首先会传递给监视对象 事件过滤器 进行处理而不是该事
  • 华为OD机试 - 猜字谜(Java)

    题目描述 小王设计了一个简单的猜字谜游戏 游戏的谜面是一个错误的单词 比如nesw 玩家需要猜出谜底库中正确的单词 猜中的要求如下 对于某个谜面和谜底单词 满足下面任一条件都表示猜中 变换顺序以后一样的 比如通过变换w和e的顺序 nwes
  • Kibana报错:Kibana server is not ready yet解决方法

    环境及版本 elasticsearch和kibana均为包安装的7 6 2 系统为unbutu22 04 1 部署完后访问kibana的web界面 出现kibana server is not ready yet 遇到这个问题后也是搜索了一
  • python注意事项

    python注意事项 1 缩进问题 每一个缩进都可能会导致有bug 因此要格外注意缩进 对齐 空格问题 尤其是循环体下的空格 一定要对齐 一般是缩进4格 2 标点符号的使用小结 逗号后面要有空格 冒号也是 等号前后都要有空格 3 字符串使用
  • MBA-day31 绝对值的几何意义

    绝对值的几何意义 1 x 2 x 4 由图可知 x 有 3 处取值区间 x gt 2 无最大值 x gt 4 无最大值 2 lt x lt 4 当x取值为 2和4时 存在几何意义中的最小值为 6 2 x 2 x 4 3 是否有根 由题1中
  • JAVAWEB编程题

    1 登陆验证代码
  • 人工智能大模型加速数据库存储模型发展 行列混合存储下的破局

    数据存储模型 专栏内容 postgresql内核源码分析 手写数据库toadb 并发编程 toadb开源库 个人主页 我的主页 座右铭 天行健 君子以自强不息 地势坤 君子以厚德载物 概述 在数据库的发展过程中 关系型数据库是一个里程碑式的
  • STL标准模板库学习笔记三(STL哈希容器)

    关联式容器 排序 的底层实现采用的树存储结构 更确切的说是红黑树结构 无序容器 哈希 的底层实现采用的是哈希表的存储结构 基于底层实现采用了不同的数据结构 因此和关联式容器相比 无序容器具有以下 2 个特点 无序容器内部存储的键值对是无序的
  • 欢迎访问阿里云Go Module代理仓库服务

    简介 go module公共代理仓库 代理并缓存go模块 你可以利用该代理来避免DNS污染导致的模块拉取缓慢或失败的问题 加速你的构建 地址 https mirrors aliyun com goproxy 使用帮助 1 使用go1 11以
  • leetcode刷题__删除有序数组中的重复项

    文章目录 题目描述 Java解决方法 题目描述 Java解决方法 class Solution public int removeDuplicates int nums int len nums length if len 0 return
  • Day81-爱心代码音乐版

    项目地址 截止到2023 9月有效 点击跳转 先看效果 素材来自网络 自己加了播放音乐的效果 直接上代码
  • 快速排序算法及其改进算法实现

    快速排序算法不稳定 快速排序算法在大多数的计算机上运行得都比其他排序算法快 而且排序算法消耗资源少 就平均时间而言快排是所有内部排序中最好的一个 对于已经排好的数组 最速排序有最坏时间复杂度为o n 2 当数组长度很小时 快排往往比其他排序
  • 【openGL2021版】链接FBX模型库

    openGL2021版 链接FBX模型库 大家好 我是Lampard猿奋 欢迎来到船新的openGL基础系列的博客 今天主要实现的是链接FBX模型第三方库 一 demo回顾 上周我已经实现了粒子系统 可以看到场景中已经存在着像萤火虫一样的闪
  • Wsl 开发环境配置

    Apt换源 切换清华源 sudo sed i s http archive ubuntu com https mirrors tuna tsinghua edu cn g etc apt sources list sudo sed i s
  • 图文详解 排序算法对比以及能解决的问题

    我们会使用的排序算法 总结源自 极客时间 王争老师 地址 https time geekbang org column intro 126 能看到所有的算法和数据结构的网站 https visualgo net en 这里是关于排序算法的链
  • 六大设计原则--开闭原则

    定义 software entities like classes modules and functions should be open for extension but closed for modifications 一个软件实体
  • php background,CSS BACKGROUND定位背景上下左右偏移

    css中我们经常使用background加载图片作为背景 这个背景图片可以通过具体属性的设置调整其上下左右偏移 调整背景图的上下左右偏移可以通过设置background属性或background position属性来实现 我们以div加背
  • Linux:非root、普通用户安装rpm(fontconfig、fc-cache命令)、中文字体

    前提 非root帐号 普通帐号 不能使用yum rpm命令 没root权限 安装fontconfig 测试是否安装 安装字体后需要使用fontconfig包的fc cache fv命令刷新字体缓存 可以使用下面命令测试 二选一就行 fc l