为什么许多GNOME应用程序包依赖于`libunity9`?
在研究这个问题时 ,我发现许多GNOME应用程序的包依赖于libunity9
包。
如果我尝试在Precise上卸载libunity9
,它会尝试卸载大量的GNOME应用程序:
MiJyn在评论中说 ,
ubuntu开发人员怎么可能认为这是一个好主意? Ubuntu开始变得越来越像windows 🙁
libunity9
包描述为:
绑定以将位置放入启动器 – 共享库
libunity是一个共享库,可以与启动器交互并在Unity环境中添加位置。
此包包含应用程序要使用的共享库
显然它是Unity的一个组成部分。 GNOME应用程序依赖Unity是奇怪的。 由于Unity是特定于Ubuntu的添加,因此上游GNOME应用程序不应该依赖它。
为什么这些依赖?
对于Shotwell和Geary(可能还有许多其他应用程序),libunity支持是运行./configure时的编译时选项集。 这样,当Ubuntu构建它时它就被启用了,但是如果他们想要的话,其他发行版可以将其关闭。
不幸的是,这意味着不使用libunity的Ubuntu衍生产品必须在没有Unity支持的情况下重建.deb,或者使用官方的Ubuntu编译包并接受它需要一个不必要的包。
请记住,libunity不是Unity。 例如,Elementary OS将libunity用于自己的自定义Dock,以在图标上显示徽章。
这与Ubuntu“越来越像Windows”有什么关系超出了我,特别是因为Windows没有包管理系统。
$ apt-cache rdepends libunity9 libunity9 Reverse Depends: libunity9:i386 libunity9:i386 libunity-dev:i386 xchat-indicator wallch unity-china-music-scope psensor liferea libunity-tools geary diodon-plugins xchat-gnome-indicator unity-webapps-service unity-scope-musicstores unity-lens-shopping unity-lens-music unity-lens-gwibber unity-lens-files unity-lens-applications thunderbird-gnome-support telepathy-indicator shotwell nautilus libunity-dev libunity-dev libbrasero-media3-1 gir1.2-unity-5.0 evolution-indicator empathy deja-dup
所有依赖libunity9
的应用程序实际上都使用该库进行Unity特定集成,如启动器libunity9
,进度条和紧急动画。 如果我没有错,那么对这个库的依赖实际上是对每个GNOME应用程序的Ubuntu特定修改,可能与上游版本无关。
Psensor的Ubuntu包装依赖于Unity来提供一些集成function:
- 直接在应用程序启动器图标中显示最高温度作为徽章
- 提供应用程序指示器中传感器值的快速访问
- 当传感器发出警报时,应用程序指示灯颜色为红色
您可以重新编译psensor并重建没有此依赖项的.deb。 这就是debian包装的情况。