有关缺少视频编解码器的问题的一般答案是安装ubuntu-restricted-extras。但该元软件包还包括ttf-mscorefonts-installer,它需要接受 EULA 才能完成。不是每个人都想签署 EULA,但没有明显的方法来拒绝 EULA。请参阅如何在使用 apt 安装软件包时拒绝 EULA?


在我似乎继续前进之前,我来回走了几次——我认为单击 Fwd,Fwd 没有接受 EULA 工作,但现在安装了该软件包,因此没有取消该软件包的安装。
这是否意味着我确实接受了 EULA?有什么地方可以查看是否记录或存储了该接受?
dpkg-query 清楚地显示已安装的软件包:
amanda@mona:~$ dpkg-query -l ttf-mscorefonts-installer
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii ttf-mscorefont 3.4+nmu1ubun all Installer for Microsoft TrueType
Run Code Online (Sandbox Code Playgroud)
ger*_*ijk 14
我明白这很令人困惑。让我解释一下。
实际接受/拒绝值写入 debconf 数据库。它独立于软件包安装。包的安装后脚本负责要安装的字体,如果您不接受 EULA,则会阻止它。
要检查 debconf 数据库中的值,请安装debconf-utils, 然后做
$ sudo debconf-get-selections | grep 'msttcorefonts/accepted-mscorefonts-eula'
ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula boolean true
Run Code Online (Sandbox Code Playgroud)
这是true给我的机器的,因为我确实接受了它。对你来说,这应该是可能的false。
即使您安装了软件包但不接受 EULA,也不会安装字体。为什么?因为包中不包含字体文件。由于分发中的许可限制,它从外部网站下载字体。要证明,请查看包的内容:
$ dpkg -L ttf-mscorefonts-installer
/.
/var
/var/lib
/var/lib/msttcorefonts
/usr
/usr/share
/usr/share/fonts
/usr/share/fonts/truetype
/usr/share/package-data-downloads
/usr/share/package-data-downloads/ttf-mscorefonts-installer
/usr/share/doc
/usr/share/doc/ttf-mscorefonts-installer
/usr/share/doc/ttf-mscorefonts-installer/README.Debian
/usr/share/doc/ttf-mscorefonts-installer/copyright
/usr/share/doc/ttf-mscorefonts-installer/changelog.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/ttf-mscorefonts-installer
/usr/lib
/usr/lib/msttcorefonts
/usr/lib/msttcorefonts/update-ms-fonts
Run Code Online (Sandbox Code Playgroud)
这就是为什么它被称为安装程序。这是丑陋且完全非标准的包装。由于上述许可限制,开发人员被迫这样做。已经为 Flash 开发了类似的解决方法,打包为flashplugin-installer.
安装包后,位于 的安装后脚本/var/lib/dpkg/info/ttf-mscorefonts-installer.postinst将下载并安装字体,前提是许可被接受(在预安装脚本中询问)。它使用/usr/lib/msttcorefonts/update-ms-fonts应用程序(它是包的一部分)来执行实际的下载和安装。自己看看脚本;它们根本不是火箭科学。
安装ubuntu-restricted-extras 您还将安装包ttf-mscorefonts-installer
. 这个包负责安装受限制的 MS 字体。
每当我们不接受 Microsoft EULA 而不同意它时,它就不会安装这些字体。我们可以通过搜索所有已安装的字体包来轻松检查这一点:
fc-list
Run Code Online (Sandbox Code Playgroud)
Arial在我们没有同意 EULA(并且我们没有通过其他方式手动安装 MS 字体)后,不会列出Microsoft 字体(例如)。
如果我们还想删除字体安装程序,我们可以安全地这样做
sudo apt-get purge ttf-mscorefonts-installer
Run Code Online (Sandbox Code Playgroud)
注意依赖于 mscorefonts 的包,然后也可能被删除。