前提
非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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/93667.html