为什么 Gnome 依赖这么多东西以及如何卸载它?

aba*_*hev 1 linux gnome nautilus

我是 Linux 新手,所以还在学习。我安装Gnome 2.28了桌面环境。

所以我想知道为什么 Gnome 安装了这么多可变的东西,比如 CD 刻录机、图像编辑器、游戏。

但这只是问题的一半!侏儒取决于他们!因此,当我想通过 Synaptic Package Manager 卸载它们时,它也要求我卸载 Gnome!

如何仅删除我要删除的应用程序?

Ave*_*yne 10

首先,您已经安装gnome-the -package,而不是gnome- vis-a-vis-the-gtk-api或 gnome-the -user-desktop或 gnome-the- {insert other ideas here}。它们是有区别的; 其中一些是想法和概念,一些是软件,一些是开发工具,还有一些只是为系统管理员准备的。

我想你也混淆了几个概念。与您在 Windows 中发现的不同(其中一种尺寸有点适合所有*),您的 Linux 环境更加模块化并且可以高度定制。所需的部件分层安装,包括显示器、显示管理器、窗口管理器,以及最重要的任何用户程序。

快速访问 X11 和朋友

X11是一个图形显示环境,以服务器、客户端和协议的形式存在。图形会话可以是本地视频设备,也可以是通过网络连接到远程客户端。使用 X11 可以让您将图形出现的位置与它们的来源隔离开

一个显示管理器的工作就是提供认证(图形登录屏幕),以确定谁是,是不是授权用户,并为用户推出相应的图形会话。显示管理器可以被认为是 X11 的一种看门过程,要求用户识别自己并管理谁可以访问什么显示(我使用 display 来粗略地描述您的 X11 会话)。

在显示管理器确定您是谁以及您想做什么(或应该做什么)之后,它就会启动各种程序,通常包括窗口管理器。窗口管理器的工作就是做它听起来像的事情——管理窗口!如果您的窗口突然失去所有边框并且无法调整它们的大小,则窗口管理器已停止工作。

当人们谈论linux 中的桌面环境时,他们通常谈论的实际上是几个东西的集合,包括 X11、显示管理器、窗口管理器和几个用户程序,所有这些都安装在一起以提供“桌面体验”。当您安装“Gnome”时,您实际上是在安装 gdm(Gnome 显示管理器)、Metacity(一个窗口管理器)和大量其他程序以提供“桌面体验”。

因为每个用户都是不同的,有些用户与其他用户会有不同的期望,所以通常会有大量程序覆盖大多数用例,以便人们可以立即开始使用它。这就是为什么当您安装 gnome 时,您最终会得到各种各样的东西,但不一定都是您想要的东西。

话虽如此...

当您在 Debian 中安装一个软件包时,您可能会安装其他具有依赖关系的软件包,即这些其他软件包需要安装在它的“下面”,以便“顶部”能够正常运行。 当你gnome-desktop作为一个包安装时,你安装了它的一个变体,一个meta-package,它是一个除了依赖其他包之外什么都没有的包;该gnome-desktop软件包本身并没有真正包含任何东西(除了一些胶水文件),而是附加到它的依赖项导致安装所有其他文件。

如果您正在寻找最小的 GUI 环境,并希望控制安装和未安装的内容以保持轻量级,那么最好完全卸载 gnome-desktop,清除此过程中的所有文件,然后重新 -安装更小的没有依赖关系的东西。您需要暂时离开您的 GUI,因为您尝试使用的打包工具可能是也可能不是删除过程的一部分;所以你会想要进入一个普通的文本 shell,可能是在系统控制台上按 Alt-F1。从那里,以 root 身份登录,并执行以下命令:

 apt-get purge gnome-desktop && apt-get update && apt-get install fluxbox 
Run Code Online (Sandbox Code Playgroud)

该命令将删除 gnome 桌面和所有相关软件包,更新您要安装的可用软件包列表,并fluxbox作为窗口管理器安装。安装窗口管理器后,您需要安装其他使用 GUI 界面的软件并从那里继续;您很可能希望在该 shell 中以 root 身份执行以下操作:

apt-get install synaptic && /etc/init.d/gdm restart
Run Code Online (Sandbox Code Playgroud)

这将安装synaptic包管理器并重新启动您的显示管理器。从那里,登录并从窗口管理器的菜单中运行突触,然后选择要安装的软件包。确保不要再次重新安装gnome-desktop

*脚注:是的,我知道 Windows 本身使用模块化组件,并且可以根据需要更换几个组件;但在实践中,从公众的角度来看,它通常被视为具有单一用户界面的整体实体。