我可以从 Debian 中删除 GUI 吗?

One*_*ude 24 gui debian

我刚刚第一次安装了任何 Linux 操作系统,我不小心在安装中选择了“桌面 GUI”,但我想自己构建所有东西。有什么方法可以在不重新安装操作系统的情况下删除 GUI 环境?

qbi*_*qbi 28

Debian 用于tasksel为特定系统安装软件。该命令为您提供了一些信息:

> tasksel --list-tasks
i desktop       Graphical desktop environment
u web-server    Web server
u print-server  Print server
u dns-server    DNS server
u file-server   File server
u mail-server   Mail server
u database-server       SQL database
u ssh-server    SSH server
u laptop        Laptop
u manual        manual package selection
Run Code Online (Sandbox Code Playgroud)

上面的命令列出了所有已知的任务tasksel。行桌面应该i在前面打印一个。如果是这种情况,您可以查看此任务通常安装的所有软件包:

> tasksel --task-packages desktop
twm
eject
openoffice.org
xserver-xorg-video-all
cups-client
…
Run Code Online (Sandbox Code Playgroud)

在我的系统上,该命令输出 36 个包。您可以使用以下命令卸载它们:

> apt-get purge $(tasksel --task-packages desktop)
Run Code Online (Sandbox Code Playgroud)

这将获取包列表( 的输出tasksel)并将其提供给 的purge命令apt-get。现在apt-get告诉你它想从系统中卸载什么。如果您确认它,所有内容都将从您的系统中清除。

  • 这个答案部分对我有用,但我也必须:`dpkg --get-selections`(向我展示我安装了 `xserver` 包),`apt-get purge xserver-*`(删除所有 xserver 包) . (4认同)
  • 嗯,你对此有何看法,使用“tasksel --task-packages Desktop”我只能得到“task-desktop”?但我有一些这样的软件包(例如,twm)。 (3认同)

小智 9

这意味着 Debian 改变了这种行为,现在使用一个名为 task-desktop 的单个“元”包,它通过依赖项和推荐引入其他包。所以tasksel告诉你的是真的,它只是安装那个单一的包,但如果你看看它的细节,像这样:

apt-cache show task-desktop
Run Code Online (Sandbox Code Playgroud)

您将在以“Depends:”和“Recommends:”开头的行中看到它引入的其他(实际)包。要删除它们,请尝试“apt-get remove task-desktop”或单独列出包名称。

  • 您可以卸载 _task-desktop_ 包并执行 `apt-get autoremove` 来清除依赖项。 (2认同)