Ubuntu怎样关闭不需要的自启软件

作者:袖梨 2026-07-20
Ubuntu禁用不必要的自启软件需区分桌面应用级(通过~/.config/autostart/或/etc/xdg/autostart/中的.desktop文件触发)和系统服务级(由systemd管理的.service单元),前者用gnome-session-properties或重命名.desktop文件禁用,后者须用sudo systemctl disable <service-name>,混用易误操作或无效。

Ubuntu 关闭不必要的自启软件,关键在于分清两类东西:桌面应用级自启动项(比如微信、网易云音乐、TeamViewer)和系统服务级自启动项(比如 cups.servicebluetooth.service)。它们的管理方式完全不同,混用命令或工具容易白忙活,甚至误关关键服务。

怎么识别桌面应用自启动项(.desktop 文件)

这类程序不是 systemd 服务,而是通过用户目录下的 ~/.config/autostart/ 或系统级 /etc/xdg/autostart/ 中的 .desktop 文件触发的。图形界面里看到的“Startup Applications”列表基本都来自这里。

  • 直接查看:终端运行 ls ~/.config/autostart/,列出你个人启用的自启项;ls /etc/xdg/autostart/ 则是系统级默认项(通常只读,不建议直接删)
  • 禁用单个应用:把对应 .desktop 文件重命名,比如 teamviewer.desktopteamviewer.desktop.disabled,下次登录就不会启动
  • 图形界面操作更安全:运行 gnome-session-properties,取消勾选即可 —— 它背后就是修改或软链接这些 .desktop 文件,不会误删
  • 注意:有些软件(如 Chrome、VS Code)会在首次运行时自动写入 ~/.config/autostart/,关掉后下次打开它可能又自己加回来

怎么禁用系统服务自启动(systemd service)

这类服务由 systemd 管理,gnome-session-properties 根本看不到它们。想关掉 bluetoothavahi-daemonwhoopsie 这类后台服务,必须用 systemctl

  • 先确认状态:运行 systemctl list-unit-files --type=service --state=enabled,只看已启用的服务
  • 禁用服务:用 sudo systemctl disable <service-name>,例如 sudo systemctl disable bluetooth.service
  • ⚠️ 不要只用 stop:它只临时停止,重启后仍会拉起;disable 才真正切断开机加载
  • 谨慎判断:像 network-manager.servicedbus.service 是桌面正常运行依赖,禁用会导致网络或通知异常
  • 查服务用途:不确定时,先 systemctl cat <service-name> 看描述,或 man <service-name>(如果提供手册页)

为什么 gnome-tweaks 或 dconf-editor 有时没反应

这两个工具本质是读写 DConf 配置,路径在 org.gnome.desktop.startup-applications。但它们只影响 GNOME 桌面下通过标准协议注册的启动项,对以下情况无效:

  • 软件自己写的守护进程(如某些 Electron 应用直接 fork 后台进程)
  • 放在 /etc/init.d/ 的 SysV 脚本(Ubuntu 20.04+ 基本不用了,但老软件可能残留)
  • 第三方仓库安装的软件(如 Snap/Flatpak 应用),其自启逻辑常绕过 DConf,得查 snap servicesflatpak override --show
  • dconf-editor 修改后没生效?试试注销再登录,DConf 缓存有时延迟刷新

旧内核和 GRUB 启动项要不要清理

这不是“自启软件”,但确实拖慢 GRUB 菜单、占用磁盘空间。清理前务必确认当前正在用的内核:

  • 查当前内核:uname -r
  • 查所有已安装内核:dpkg --get-selections | grep 'linux-image-.*-generic' | grep -v deinstall
  • 只卸载明确旧的(比如比当前低两版以上的),留至少一个备用:例如当前是 6.8.0-52-generic,可删 6.5.0-xx,别碰 6.8.0-51
  • 删完必须运行 sudo update-grub,否则 GRUB 不会更新菜单
  • 注意:linux-headerslinux-modules 要和 linux-image 版本严格匹配,一起删,否则编译驱动可能失败

真正麻烦的从来不是“怎么关”,而是“该不该关”——很多自启项看似无用,实则支撑着通知、剪贴板同步、输入法切换等隐形功能。动手前花 30 秒查清它干啥,比事后修系统快得多。

相关文章

精彩推荐