问题描述
有很多额外的字体看起来都一样,只是在下拉列表中惹恼了我。无论如何我可以从系统中删除它们吗?
最佳答案
你有几种方法。我可以列出4个…
-
图形界面 ====================
首先,您可以使用以下命令安装 font-manager:
sudo aptitude install font-manager
您可以从此处禁用(所以不要删除!禁用会使它们为您消失,但该系统上的其他用户仍会看到它们)字体。这是它的样子:
-
从 Ubuntu 软件中心手动删除 ==============
作为替代方案,在 Ubuntu 软件中心搜索字体并从那里删除它们。
-
通过命令行手动删除软件包 ==============
使用此命令无法删除任何英文字体:
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
Here is a list of all the font packages 。您可以将字体包名称添加到上面的命令中以包含它们以进行删除。
如果您在任何时候删除了想要返回的字体,只需执行
sudo apt-get install ttf-indic-fonts-core
并且 indic 字体将为 re-installed (ofc。将包名称更改为您想要的名称)。
-
手动删除命令行 ============================
除此之外你可以看看
/etc/fonts/fonts.conf
查看字体的存储位置。通常,这将位于以下位置之一:
/usr/share/fonts
/usr/local/share/fonts
/home/$USER/.local/share/fonts
/home/$USER/.fonts
使用管理员权限,您可以删除它们。然后它们应该从任何位置消失。
次佳答案
这取决于您如何安装字体。
字体安装 system-wide
如果安装了 system-wide(就像大多数字体都是 AFAIK),只需将 Nautilus(Ubuntu 的文件管理器)作为 root ( Alt
+ F2
然后输入 gksudo nautilus
)并导航到 /usr/share/fonts/truetype
。
然后
然后
删除该文件,然后在终端中运行 sudo fc-cache -f -v
。
注销并重新登录,它应该被删除。
仅为您的用户安装的字体
如果它只是为您安装的(手动 copy-paste 到用户 ~/.fonts
或 ~/.local/share/fonts/
目录中),那么您可以从这些目录中删除字体并注销并重新登录。
为了绝对确定,请执行以下操作: locate --existing szNameOfFile
删除同一文件的所有其他出现,以便一切都回到原来的位置!
Commands courtesy of @Fabby in chat
第三种答案
如果要检查 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
第四种答案
如果您使用安装按钮安装了字体,它可能只是被复制到 ~/.fonts
。要卸载它,只需打开该目录,找到字体,然后删除该文件。
第五种答案
如果您已经通过终端 ctrl
+ alt
+ t
安装了 .ttf
微软核心字体 mscorefonts-installer
。您可以将其卸载为:
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 math symbol font family:
sudo apt remove fonts-stix