我想彻底删除 Unity-2D(不是 Unity) 在 Ubuntu Precise Pangolin 12.04 上。我曾经dpkg -l | grep unity-2d
列出属于 Unity-2D 的软件包。结果是这样的:
ii libunity-2d-private0 5.12.0-0ubuntu1.1 Unity 2D shared library
ii unity-2d 5.12.0-0ubuntu1.1 Unity interface for non-accelerated graphics cards
ii unity-2d-common 5.12.0-0ubuntu1.1 Unity 2D Panel
ii unity-2d-shell 5.12.0-0ubuntu1.1 Dash and Launcher for the Unity 2D environment
ii unity-2d-spread 5.12.0-0ubuntu1.1 Unity 2D Spread
现在我想使用以下命令删除这些包:
sudo apt-get purge unity-2d unity-2d-common unity-2d-panel unity-2d-shell unity-2d-spread libunity-2d-private0
然后我收到以下消息:
The following packages will be REMOVED:
libunity-2d-private0* ubuntu-desktop* unity-2d* unity-2d-common* unity-2d-panel* unity-2d-shell* unity-2d-spread*
这意味着该包ubuntu-desktop
也应该被删除。但是该包的描述apt-cache show ubuntu-desktop
是这样的:
Description-en: The Ubuntu desktop system
This package depends on all of the packages in the Ubuntu desktop system
.
It is also used to help ensure proper upgrades, so it is recommended that
it not be removed.
它不应该被删除,因为它是确保系统更新成功所必需的。
如何在不删除 Ubuntu-Desktop 的情况下删除 Unity-2D?
答案1
ubuntu-desktop
如果您想删除 Unity 和 Unity-2D,删除软件包是完全可以的。因为ubuntu-desktop
它是一个元软件包,用于提取 Ubuntu Desktop 安装中的标准软件包。由于您正在删除 Ubuntu-Desktop 软件包的依赖项,因此它也将被删除。
但是,您不必担心。删除它不会丢失任何东西。您可以看看这个问题。
对于特定查询:
如何在不删除 Ubuntu-Desktop 的情况下删除 Unity-2D?
你就是不能。没有办法删除带有 Unity-2D 的 Ubuntu-Desktop 软件包,否则软件包系统会损坏。
答案2
删除或修改文件/usr/share/xsessions/ubuntu-2d.desktop
。例如,执行
sudo mv /usr/share/xsessions/ubuntu-2d.desktop /root/ubuntu-2d.desktop.backup
不幸的是,您无法在不破坏依赖关系的情况下从系统中选择性地删除 2D 库,因为 Ubuntu 的作者认为 2D 对于 Ubuntu 是强制性的。
编辑:如果您想删除 Unity-2D(但只删除 Unity-2D,不删除其他任何内容),有两种策略:
继续删除 Unity-Desktop。这不会删除其他 Unity 库,因为 Unity-Desktop 只是一个元包,它的目的是依赖于大量其他包,这样通过安装这个单个包,你也会安装所有这些依赖项。
(更加困难)创建一个提供 Unity-2D 包但不安装任何文件的虚拟元包。