如何让你的 Ubuntu 桌面运行得更快

2025-06-07

如何让你的 Ubuntu 桌面运行得更快

(最初发表于prahladyeri.github.io

在寻找更节省资源的发行版时,通常的建议是使用更轻量级的衍生产品,例如 Xubuntu、Lubuntu 等。然而,很少有人知道,即使是像 Ubuntu LTS 这样默认使用 Unity 桌面的“重量级”发行版,也可以通过卸载一些软件包并从启动项中移除其他软件包来使其变得更轻量。让我们看看如何实现:

从启动应用程序中删除不需要的项目

当你打开 Ubuntu Dash 并启动“启动应用程序”对话框时,它并不会显示全部内容。仍然有许多“隐藏应用程序”在你不知情的情况下在后台静默启动。为了让所有这些隐藏的应用程序都显示在对话框中,你需要在终端中运行以下命令:

sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
Enter fullscreen mode Exit fullscreen mode

运行此程序并打开“启动应用程序”对话框后,您也可以看到隐藏的应用程序:

启动应用程序(Ubuntu)

启动应用程序(Ubuntu)

在此对话框中,您可以通过“取消选中”来禁用某个应用程序的启动。在新安装的系统中,我通常会取消选中“备份监视器”“桌面共享”。在一台非生产用途的台式电脑上,出现如此严重的备份问题实在是太不合理了,所以我很想知道为什么要启用“备份监视器”。大约 99% 的系统管理员要么定期执行手动备份,要么编写自动化脚本(例如专门为此设计的rsync) 。

桌面共享在 Linux 桌面上默认启用,同样是一个不必要的工具。这可不是 Windows 的世界,人们使用远程桌面客户端连接到同一网络上的其他 PC。大约 99% 的 Linux 用户使用SSH连接到远程机器。无论如何,桌面共享都应该是一个可选功能,有特殊需求的用户可以在需要时启用它。

删除不必要的后台服务,例如 cups 和 avahi-daemon

在全新安装的 Ubuntu 系统上运行,sudo netstat -antpe你会看到一个很少使用的cupsd守护进程(常见的 Unix 打印服务)在一个空闲的 TCP 端口上运行,并且悄无声息地消耗着你的内存和网络资源。同样,你可以运行sudo netstat -anupe以下命令扫描 UDP 端口,同样会看到 cups 浏览器守护进程 ( cups-browsed) 和 avahi 守护进程 ( avahi-daemon) 服务。

打印机的使用越来越少了,尤其是在数字时代和互联网革命到来之后。哎呀,现在就连公司也开始鼓励使用电子邮件沟通,以减少纸质文件和保护树木。而我们,作为顶级 Linux 发行版之一,竟然默认运行了打印机服务!

我谦虚地请求他们,请将此功能设为可选功能,以便那些需要它的人有足够的理智去运行sudo apt install cups。在此之前,其他人可以执行以下操作:

sudo systemctl disable cupsd
sudo systemctl disable cups-browsed
Enter fullscreen mode Exit fullscreen mode

我们不会卸载它,只是为了以防万一而禁用它。之前你说cups浏览器导出 PDF 需要这个功能,但其实不然,最新版本的 Firefox 和 Chrome 浏览器都自带 PDF 扩展程序,不再依赖这项服务了。

至于另一项服务(avahi-daemon),它真的毫无意义,就像avahi苹果专有协议的 Linux 实现一样,用于其 iDevices 之间的点对点通信。任何头脑正常的人都不会在自己的 PC/笔记本电脑上使用像 Ubuntu 这样的开源操作系统来与专有的苹果产品通信!由于苹果产品只能在封闭的生态系统中运行,因此两者无法很好地协同工作。

至于那些极少数确实需要 avahi-daemon 的用户,那就让他们自己安装吧,为什么要默认包含这个呢?除非他们自己安装,否则我们其他人avahi-daemon只需运行以下命令即可禁用:

sudo systemctl disable avahi-daemon
Enter fullscreen mode Exit fullscreen mode

禁用 HUD(如果您不使用它)

Xubuntu 内存占用如此低(空闲时约 200 MB)的原因之一是它没有预装诸如 HUD 之类的内存占用服务。例如,在我的笔记本电脑上,HUD 服务占用了足足 30MB 的内存,对于一个我根本不会用到的服务来说,这实在是太多了。如本文所述,你可以从终端禁用 HUD 服务,步骤如下:

sudo chmod -x /usr/lib/indicator-appmenu/hud-service # 32bit systems
Enter fullscreen mode Exit fullscreen mode

或者
sudo chmod -x /usr/lib/x86_64-linux-gnu/hud/hud-service # 64 位系统

禁用进化过程(如果您使用雷鸟或其他任何东西)

Evolution 进程(例如evolution-calendar-factoryevolution-addressbook-factory)非常耗内存,会消耗大量的 RAM。如果您启动系统监视器并搜索evolution,您会发现 4-5 个不同的进程占用了足足 120MB 的 RAM!现在,对于甚至不使用 Evolution 电子邮件客户端或任何此类服务的人来说,它们为什么会在那里呢?但不幸的是,您不能直接uninstall使用 删除( )这些软件包apt。尝试这样apt remove evolution-data-server做会破坏您的系统,因为它们已经成为桌面的核心部分。您可以做的(如果您真的想收回那些 RAM)是这篇文章 中建议的解决方法。只需按如下所示重命名文件夹即可:

sudo mv /usr/lib/evolution-data-server /usr/lib/evolution-data-server-disabled
sudo mv /usr/lib/evolution /usr/lib/evolution-disabled
Enter fullscreen mode Exit fullscreen mode

或者,一个不太坑爹的技巧是移除各个进程的可执行标志,这样它们就不会启动。这样,以后你更新核心软件包时,这些进程就不会再次启动。

sudo chmod -x /usr/lib/evolution/evolution-calendar-factory # less dirty hack
Enter fullscreen mode Exit fullscreen mode

删除 GNOME 软件中心(仅当您不使用它时)

这个垃圾程序(gnome 软件中心)在任何典型的 Ubuntu 安装中都会占用 70-80MB 的空间。就软件管理而言,我发现传统的apt install方法比 gnome 软件中心直观得多。在极少数情况下,当你绝对需要 GUI 的时候,GnuPiesynaptic package manager完全可以胜任,而且不会持续占用你的资源。

正如这个答案中所述,安全地从系统中删除 gnome 软件中心只需执行以下操作:

sudo apt purge gnome-software
Enter fullscreen mode Exit fullscreen mode

在修剪上述程序和服务之后,您的系统应该变得几乎和其他较轻的发行版(如 xubuntu、lubuntu 等)一样轻量,并且您仍然可以享受和使用更丰富、更美观的用户界面!

在我自己的笔记本电脑上,我能够将空闲内存消耗从~550MB 减少到~300MB,这与 ubuntu-mate 非常接近!

更新

从 18.04 LTS 开始,Ubuntu 已将 gnome 软件中心替换为一个名为“snappy”的新垃圾程序,它并不比其前身好!要删除 snappy,请按照以下步骤操作:

#check what snaps are installed
snap list

#remove all snaps
sudo apt purge snapd

#delete the snap folder
rm -rf snap 

#optionally replace snaps with standard apps
sudo apt install gnome-calculator gnome-logs gnome-characters gnome-system-monitor 
Enter fullscreen mode Exit fullscreen mode

我还是不明白为什么 Ubuntu 每次发布新版本都要额外安装这些不必要的垃圾(cups毕竟avahi它们对普通用户来说根本没用)。我猜他们这么做是为了让用户去 Google 上搜索删除它们的方法,从而提高他们的 Linux 技能!

参考:

文章来源:https://dev.to/prahladyeri/how-to-trim-your-ubuntu-installation-of-extra-fat-and-make-it-faster-58ib
PREV
高级 JavaScript 系列 - 第一部分:幕后(JavaScript 引擎、ATS、隐藏类、垃圾回收)
NEXT
适合初学者的 Python 编程资源集合 Python 编程资源