如何从libreoffice和linux中删除我从未使用的字体?

有很多额外的字体看起来都很相似,只是在下拉列表中烦扰我。 无论如何我可以从系统中删除它们吗?

你有几种方法。 我可以列出4 …

1.图形界面

首先,您可以使用以下命令安装font-manager:

sudo aptitude install font-manager 

你可以禁用(所以不要删除!禁用让它们消失,但该系统上的其他用户仍会看到它们)字体。 这就是它的样子:

在此处输入图像描述

2.从Ubuntu软件中心手动删除

作为替代方案,在Ubuntu软件中心搜索字体并从那里删除它们。

3.通过命令行手动删除包

使用此命令无法删除英文字体:

 sudo apt-get remove ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-takao-pgothic ttf-thai-tlwg ttf-unfonts-core ttf-wqy-microhei 

这是所有字体包的列表 。 您可以将字体包名称添加到上面的命令中以包含它们以进行删除。

如果你在任何时候删除了你想要的字体,那就做一个

  sudo apt-get install ttf-indic-fonts-core 

并且将重新安装indic字体(ofc。将包名称更改为您想要的名称)。

4.手动删除命令行

除此之外,你可以看看

 /etc/fonts/fonts.conf 

查看字体的存储位置。 通常情况下,这将位于以下1个位置:

 /usr/share/fonts /usr/local/share/fonts /home/$USER/.local/share/fonts /home/$USER/.fonts 

使用管理员权限,您可以删除它们。 然后它们应该从任何位置消失。

这取决于你如何安装字体。

字体安装在系统范围内

如果它是在系统范围内安装的(就像大多数字体是AFAIK一样),只需将Nautilus(Ubuntu的文件管理器)作为root( Alt + F2然后输入gksudo nautilus )并导航到/usr/share/fonts/truetype

在此处输入图像描述

然后

在此处输入图像描述

然后

在此处输入图像描述

删除该文件,然后在终端中运行sudo fc-cache -f -v

注销并重新登录,应将其删除。

仅为您的用户安装的字体

如果它只是为你安装(手动复制粘贴到用户~/.fonts~/.local/share/fonts/目录),那么你可以删除这些目录中的字体并注销并重新登录。

并且为了绝对确定,请执行以下操作: locate --existing szNameOfFile以删除同一文件的所有其他事件,以便一切都回到原来的位置!

命令由@Fabby在聊天中提供

如果使用安装按钮安装了字体,则可能只是复制到~/.fonts 。 要卸载它,只需打开该目录,找到字体并删除该文件。

如果您已安装.ttf Microsoft核心字体mscorefonts-installer通过终端ctrl + alt + t 。您可以将其卸载为:

 sudo apt-get remove ttf-mscorefonts-installer 

对于Ubuntu 16.04,可以通过在终端中运行此命令来删除许多非西方字体系列:

 sudo apt remove fonts-lao fonts-lklug-sinhala fonts-sil-abyssinica fonts-sil-padauk fonts-tibetan-machine fonts-thai-tlwg fonts-lohit-guru fonts-guru-extra 

为了使字体选择对话框看起来更简洁,可以删除Stix数学符号字体​​系列 :

 sudo apt remove fonts-stix 

如果要检查Debian / Ubuntu系统和衍生产品上安装的字体,可以运行命令:

 echo `dpkg -l fonts\*|grep ii|awk '{print $2}'|grep -vE 'fonts-(noto$|liberation|dejavu|freefont|hack)'` 

这个命令EXCLUDE我想保留的字体(你可以将它们的名字放在括号内)。 我从这个列表中排除了包括fonts-noto(显式),所有fonts-liberation包等名称的包名。 安装的软件包列表如下所示:

 fonts-beng fonts-beng-extra fonts-deva fonts-deva-extra fonts-gargi fonts-gubbi fonts-gujr fonts-gujr-extra fonts-kacst fonts-kacst-one fonts-kalapi fonts-khmeros-core fonts-knda fonts-lohit-beng-assamese fonts-lohit-beng-bengali fonts-lohit-deva fonts-lohit-gujr fonts-lohit-knda fonts-lohit-mlym fonts-lohit-orya fonts-lohit-taml fonts-lohit-taml-classical fonts-lohit-telu fonts-mathjax fonts-mlym fonts-nakula fonts-nanum fonts-navilu fonts-noto-cjk fonts-noto-hinted fonts-noto-mono fonts-noto-unhinted fonts-opensymbol fonts-orya fonts-orya-extra fonts-pagul fonts-sahadeva fonts-samyak-deva fonts-samyak-gujr fonts-samyak-mlym fonts-samyak-taml fonts-sarai fonts-smc fonts-symbola fonts-takao-pgothic fonts-taml fonts-telu fonts-telu-extra fonts-tlwg-garuda fonts-tlwg-garuda-ttf fonts-tlwg-kinnari fonts-tlwg-kinnari-ttf fonts-tlwg-laksaman fonts-tlwg-laksaman-ttf fonts-tlwg-loma fonts-tlwg-loma-ttf fonts-tlwg-mono fonts-tlwg-mono-ttf fonts-tlwg-norasi fonts-tlwg-norasi-ttf fonts-tlwg-purisa fonts-tlwg-purisa-ttf fonts-tlwg-sawasdee fonts-tlwg-sawasdee-ttf fonts-tlwg-typewriter fonts-tlwg-typewriter-ttf fonts-tlwg-typist fonts-tlwg-typist-ttf fonts-tlwg-typo fonts-tlwg-typo-ttf fonts-tlwg-umpush fonts-tlwg-umpush-ttf fonts-tlwg-waree fonts-tlwg-waree-ttf fonts-wqy-microhei 

正如您所看到的,这是一个相当长的列表,但重要的是调查它并删除可能存在的任何有价值的包。 然后,应使用文件重定向(> file)将此列表保存到文件中:

 echo `dpkg -l fonts\*|grep ii|awk '{print $2}'|grep -vE 'fonts-(noto$|liberation|dejavu|freefont|hack)'` > not-needed-font-packages.txt 

现在,拥有此文件,您可以随时恢复(再次安装)您将要删除的所有包。 要删除在该文件中收集名称的所有不必要的包,您可以运行该命令来测试系统对此潜在破坏性操作的响应:

 sudo dpkg --remove --dry-run `cat not-needed-font-packages.txt` 

这将检查将删除哪个包。 由于字体包通常反向依赖于另一个包,因此请仔细观察列表以检测是否要删除一些其他包。 这个命令是安全的 – 它只会打印要做的事情。 如果有任何软件包,比如libreoffice或xreader,则必须强制系统删除仅指定的软件包,这将破坏软件包系统的一致性,并且可能存在危险。 但是,我们即将删除一些字体包,因此不会造成任何真正的伤害。

要删除仅指定的软件包和IGNORE所有已破坏的依赖项和其他已安装软件包的要求,请运行以下命令:

 sudo dpkg --remove --force-all --dry-run `cat not-needed-font-packages.txt` 

此命令将忽略所有错误,但会打印它们,以便您了解哪些错误。 如果您升级系统并且将重新安装某些反向依赖项,则可能会再次安装这些字体包,但是谁在乎。

要最终删除不必要的包,请删除–dry-run选项,然后运行最终命令:

 sudo dpkg --remove --force-all `cat not-needed-font-packages.txt` 

请注意,在您的系统上,情况可能会有所不同。 在我的Linux Mint 18.3 Cinnamon工作站上删除了所有指定的包,日志看起来像这样:

 (Odczytywanie bazy danych ... 269043 pliki i katalogi obecnie zainstalowane.) Usuwanie pakietu fonts-beng (2:1.2) ... Usuwanie pakietu fonts-beng-extra (1.0-5) ... Usuwanie pakietu fonts-deva (2:1.2) ... Usuwanie pakietu fonts-deva-extra (3.0-3) ... ... lots of another lines like this... Usuwanie pakietu fonts-lohit-taml-classical (2.5.3-2) ... Usuwanie pakietu fonts-lohit-telu (2.5.3-1) ... Usuwanie pakietu fonts-samyak-taml (1.2.2-4) ... dpkg: fonts-noto-hinted: problemy z zależnościami, usuwanie według żądania: fonts-noto zależy od fonts-noto-hinted. Usuwanie pakietu fonts-noto-hinted (20160116-1) ... dpkg: fonts-opensymbol: problemy z zależnościami, usuwanie według żądania: libreoffice-core zależy od fonts-opensymbol. libreoffice-math zależy od fonts-opensymbol. Usuwanie pakietu fonts-opensymbol (2:102.7+LibO5.1.4-0ubuntu1) ... dpkg: fonts-symbola: problemy z zależnościami, usuwanie według żądania: ttf-ancient-fonts-symbola zależy od fonts-symbola. Usuwanie pakietu fonts-symbola (2.59-1) ... dpkg: fonts-mathjax: problemy z zależnościami, usuwanie według żądania: libjs-mathjax zależy od fonts-mathjax (>= 2.6.0~). Usuwanie pakietu fonts-mathjax (2.6.1-1) ... Przetwarzanie wyzwalaczy pakietu fontconfig (2.11.94-0ubuntu1.1)... 

在那之后,我的系统只有我喜欢的字体。 您可以使用以下简单命令检查剩余的字体包:

 dpkg -l fonts\*|grep ^ii|awk '{print $2}' 

结果:

 fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fonts-freefont-ttf fonts-hack-ttf fonts-liberation fonts-noto 

在终端中使用fc-list工具获取字体文件列表。 查看字体名称并删除不需要的字体文件。

如果要过滤某些字体使用

 fc-list | grep -i Noto 

Noto是字体名称的一部分, -i是在搜索时忽略大小写的键。