我怎样才能从 libreoffice 和 Linux 中删除从未使用过的字体?

我怎样才能从 libreoffice 和 Linux 中删除从未使用过的字体?

下拉列表中有很多额外的字体,它们看起来都一样,让我很烦。有什么办法可以将它们从系统中删除吗?

答案1

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

  1. 图形界面 ====================

首先,您可以使用以下命令安装字体管理器:

sudo aptitude install font-manager

您可以在此处禁用(不是删除!禁用会使字体消失,但该系统上的其他用户仍会看到它们)字体。它看起来是这样的:

在此处输入图片描述

  1. 从 Ubuntu 软件中心手动删除 ===============

或者,在 Ubuntu 软件中心搜索字体并从那里删除它们。

  1. 通过命令行手动删除包 ===============

可以使用以下命令删除非英文字体:

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

并且印度字体将被重新安装(当然,将包名称更改为您想要的名称)。

  1. 手动命令行删除 ==============================

除此之外你还可以看看

/etc/fonts/fonts.conf

查看字体的存储位置。通常,字体位于以下位置之一:

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

有了管理员权限,您就可以删除它们。然后它们就会从任何位置消失。

答案2

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

系统范围内安装的字体

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

在此处输入图片描述

然后

在此处输入图片描述

然后

在此处输入图片描述

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

注销并重新登录即可删除。

仅为您的用户安装字体

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

为了绝对确保,请执行以下操作:locate --existing szNameOfFile删除所有其他出现的同一文件,以便所有内容恢复原状!

命令由@Fabby 在聊天中提供

答案3

如果您想检查 Debian/Ubuntu 系统及其衍生产品上安装了哪些字体,您可以运行以下命令:

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

此命令排除了您想要保留的字体。您可以将它们的名称放在括号正则表达式中,以 分隔|。我从此列表中排除了诸如 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,您将不得不强制系统仅删除指定的包,这将破坏包系统的一致性并且可能很危险。但是,我们即将删除的只是一些字体包,因此不会造成真正的危害。

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

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`

请注意,您的系统上的情况可能会有所不同。在我的 Polish 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-cache -fv

答案4

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

相关内容