关于缺少视频编解码器的问题的一般答案是安装ubuntu 受限附加功能。但该元包还包括ttf-mscorefonts-安装程序需要接受 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
答案1
不,您没有接受 EULA。不,您没有安装字体,但是,您安装了软件包。
我知道这让人困惑。让我解释一下。
实际的接受/拒绝值写入 debconf 数据库。它与软件包安装无关。软件包的安装后脚本负责安装字体,如果您不接受 EULA,则会阻止安装。
要检查 debconf 数据库中的值,请安装debconf-实用程序, 然后做
$ sudo debconf-get-selections | grep 'msttcorefonts/accepted-mscorefonts-eula'
ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula boolean true
这是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
这就是为什么它被称为安装程序。这是丑陋且完全不符合标准的打包方式。由于上述许可限制,开发人员被迫这样做。已经为 Flash 开发了类似的解决方法,打包为flashplugin 安装程序。
安装软件包后,位于 的安装后脚本/var/lib/dpkg/info/ttf-mscorefonts-installer.postinst
将仅在接受许可证(在安装前脚本中询问)的情况下下载并安装字体。它使用应用/usr/lib/msttcorefonts/update-ms-fonts
程序(是(软件包的一部分)来执行实际的下载和安装。您可以自己查看脚本;它们根本不是火箭科学。
答案2
安装ubuntu 受限附加功能 你还将安装包ttf-mscorefonts-安装程序 . 该包负责安装受限的 MS 字体。
如果我们不接受 Microsoft EULA,则不安装这些字体。我们可以通过搜索所有已安装的字体包来轻松检查这一点:
fc-list
Arial
在我们未同意 EULA(并且我们未通过其他方式手动安装 MS 字体)后,将不会列出任何 Microsoft 字体(例如)。
如果我们想删除字体安装程序,可以安全地使用以下命令
sudo apt-get purge ttf-mscorefonts-installer
注意依赖于 mscorefonts 的包,它们也可能会被删除。