I installed kubuntu-kde4-desktop package on my Ubuntu 9.04 install to give KDE a fair shake since I've always wanted to try it. I'm not done with it yet, but if I decide I want to go back to my tried and true favorite Gnome setup how do I go about removing the KDE stuff easily without having to track down all the components in Synaptic?

I understand that kubuntu-kde4-desktop is a meta-package that works as a pointer to all the packages needed for the full KDE desktop experience, and as such I think I've seen that you can't simply do this:

$ sudo apt-get remove kubuntu-kde4-desktop

How do I remove the stuff if I decide not to use it in a simple one command way?

UPDATE: I've added the opposite of this question here.


4 Answers 4


$ sudo apt-get remove kubuntu-kde4-desktop

$ sudo apt-get autoremove

will remove all the dependant packages it pulled in. Alteratively, if you use aptitude like so

$ sudo aptitude remove kubuntu-kde4-desktop

it'll remove all the dependant packages for you automatically. Personally I prefer the manual control of apt-get, and it'll tell you when there are packages that can be autoremoved next time you use it anyway.

  • 1
    Nice. Did not know about autoremove.
    – jweede
    Aug 7, 2009 at 16:34
  • 2
    After using either of these, run this to remove configuration files and other bits and pieces that are left-over: aptitude purge ~c The ~c search in aptitude finds any packages that were removed but not purged. So you're purging anything in such a state. It's a good command to remember for clean-up.
    – Telemachus
    Aug 8, 2009 at 12:27
  • I do want to point out that removing a desktop environment can potentially break the system, even if it was not the default install. This can be compounded even further if the two desktop environments share libraries.
    – Keltari
    May 28, 2020 at 1:11
sudo apt-get --purge remove kubuntu-kde4-desktop

Should perform a complete removal.

--purge adds the ability to take down config files for packages you'll never use again. But as pointed out by TRS-80, the autoremove command should be used afterward to trim off needless dependencies.

  • That won't work quite the way you describe. the kubuntu-kde4-desktop package has no config files of its own, since it's a metapackage. And autoremove in the second command won't purge config files for all the auto-removed packages. I personally find that the easiest way to deal with residual configs is by ignoring them unless they get in the way, and then using Synaptic to purge them all periodically. Nov 3, 2009 at 7:57

As others have pointed out, you can use apt-get with --purge remove and autoremove/autoclean options.

You can also use the deborphan command (a separate package) to identify orphaned packages, and delete the identified packages so:

sudo apt-get --purge remove `deborphan`

A more comprehensive program is debfoster ( weed unnecessary Debian packages ) which I run quite often to keep my system tidy. A rather old HOWTO on debfoster shows you how to rid yourself of all KDE packages with instructions that are relevant still.

A small snippet of debfoster in operation ( I recently used it to purge eclipse and related packages from my system ). Note you can pass it a package to focus on as a parameter.

I regularly try and discard software, and debfoster is incredibly helpful in making sure I keep bloat from unwanted packages to a minimum.

$ sudo debfoster

ubuntu-desktop is keeping the following 194 packages installed:
  acpi-support acpid apmd app-install-data-partner apport apport-gtk at-spi avahi-autoipd bluez-utils brltty brltty-x11
  checkbox checkbox-gtk compiz compiz-fusion-plugins-extra compiz-fusion-plugins-main contact-lookup-applet cupsddk
  cupsddk-drivers dc dcraw dmz-cursor-theme dnsmasq-base ekiga eog ethtool evolution-exchange evolution-indicator
  example-content fast-user-switch-applet fglrx-modaliases file-roller finger firefox-3.0-gnome-support
  firefox-gnome-support foo2zjs foomatic-db-hpijs gcalctool gdm gdm-guest-session gedit gedit-common
  gnome-accessibility-themes gnome-cards-data gnome-codec-install gnome-games gnome-games-data gnome-mag gnome-nettool
  gnome-orca gnome-power-manager gnome-screensaver gnome-session-canberra gnome-system-tools gnome-themes-selected
  gnome-themes-ubuntu gstreamer0.10-plugins-base-apps gstreamer0.10-schroedinger gstreamer0.10-tools gtk2-engines
  gtk2-engines-murrine gucharmap gvfs-fuse hal-cups-utils hotkey-setup hpijs hplip hplip-data human-icon-theme human-theme
  im-switch inputattach jockey-common jockey-gtk language-selector language-selector-common laptop-mode-tools lftp
  libavahi-ui0 libbrlapi0.5 libcolamd-3.2.0 libcryptui0 libdmx1 libggz2 libggzcore9 libggzmod4 libgmime2.2a-cil
  libgnome-mag2 libgnomepanel2.24-cil libgnomevfs2-bin libgtk-vnc-1.0-0 libieee1284-3 libmbca0 libnm-glib0 libnm-util1
  libopal3.6.1 libotr2 libpt2.6.1 libpt2.6.1-plugins-alsa libpt2.6.1-plugins-v4l2 libsane libscim8c2a libsnmp-base libsnmp15
  libusplash0 libwmf0.2-7-gtk libwpg-0.1-1 linux-headers-2.6.28-15 linux-headers-2.6.28-15-generic linux-headers-generic
  lp-solve min12xxw mobile-broadband-provider-info mscompress nautilus-sendto nautilus-share network-manager
  network-manager-gnome notify-osd nvidia-173-modaliases nvidia-180-modaliases nvidia-71-modaliases nvidia-96-modaliases
  nvidia-common onboard openoffice.org-calc openoffice.org-draw openoffice.org-gnome openoffice.org-gtk
  openoffice.org-impress openprinting-ppds pcmciautils pidgin pidgin-libnotify pidgin-otr pnm2ppa pxljr python-brlapi
  python-cups python-cupshelpers python-gtksourceview2 python-pyatspi python-smbc python-usb python-virtkey readahead
  rss-glx sane-utils scim scim-bridge-agent scim-bridge-client-gtk scim-gtk2-immodule scim-modules-socket
  screensaver-default-images seahorse seahorse-plugins splix ssh-askpass-gnome syslinux system-config-printer-common
  system-config-printer-gnome tangerine-icon-theme tomboy toshset tsclient ttf-arabeyes ttf-arphic-uming ttf-lao
  ttf-sazanami-gothic ttf-thai-tlwg ubuntu-artwork ubuntu-docs ubuntu-gdm-themes ubuntu-sounds ubuntu-wallpapers
  update-manager update-notifier usb-creator usplash usplash-theme-ubuntu vinagre vino whois wireless-tools wpasupplicant
  xcursor-themes xdg-user-dirs-gtk xfonts-100dpi xfonts-75dpi xfonts-scalable xinput xorg xscreensaver-data xscreensaver-gl
Keep ubuntu-desktop? [Ynpsiuqx?], [H]elp: Y

eclipse-cdt is keeping the following 77 packages installed:
  ant ant-gcj ant-optional ant-optional-gcj antlr default-jdk default-jre ecj ecj-gcj eclipse eclipse-gcj eclipse-jdt
  eclipse-jdt-gcj eclipse-pde eclipse-pde-gcj eclipse-platform eclipse-platform-gcj eclipse-rcp eclipse-rcp-gcj
  eclipse-source fastjar gappletviewer-4.3 gcj-4.2-base gcj-4.3 gcj-4.3-base gij-4.2 gij-4.3 gjdoc java-gcj-compat
  java-gcj-compat-dev java-gcj-compat-headless junit junit4 libantlr-java libantlr-java-gcj libbcel-java
  libcommons-beanutils-java libcommons-collections-java libcommons-collections3-java libcommons-dbcp-java
  libcommons-digester-java libcommons-el-java libcommons-launcher-java libcommons-logging-java libcommons-modeler-java
  libcommons-pool-java libecj-java libecj-java-gcj libgcj-bc libgcj-common libgcj8-1 libgcj8-1-awt libgcj8-jar libgcj9-0
  libgcj9-0-awt libgcj9-dev libgcj9-jar libgcj9-src libjaxp1.3-java libjaxp1.3-java-gcj libjsch-java liblog4j1.2-java
  liblog4j1.2-java-gcj liblucene-java liblucene-java-doc libmx4j-java libregexp-java libservlet2.3-java libservlet2.4-java
  libswt3.2-gtk-gcj libswt3.2-gtk-java libswt3.2-gtk-jni libtomcat5.5-java libxerces2-java libxerces2-java-gcj libxt-dev
Keep eclipse-cdt? [Ynpsiuqx?], [H]elp: H

  Yes        Keep eclipse-cdt. [default]
  No         Delete eclipse-cdt.
  Prune      Delete eclipse-cdt and the packages it is keeping installed.
  Skip       Skip this question.
  Help       Print this message.
  Info or ?  Show information about eclipse-cdt.
  Undo       Undo last response.
  Quit       Exit without removing packages.
  Exit       Remove unwanted packages and exit.

Keep eclipse-cdt? [Ynpsiuqx?], [H]elp: P

libpanelappletmm-2.6-dev is keeping the following 9 packages installed:
  libcairomm-1.0-dev libgconfmm-2.6-dev libglibmm-2.4-dev libgnomemm-2.6-dev libgtkmm-2.4-dev libpanel-applet2-dev
  libpanelappletmm-2.6-1c2 libpangomm-1.4-dev libsigc++-2.0-dev
Keep libpanelappletmm-2.6-dev? [Ynpsiuqx?], [H]elp: S

Edit: A good link to learn about deborphan usage. A concise explanation of debfoster.

  • deborphan among other things returns diff and other essential packages though - so I wouldn't really recommend using it.
    – Grzenio
    Nov 13, 2009 at 8:10

First, check what is going to be removed

sudo dpkg -l | grep .kde.

If you are ok with it, run this command

sudo apt autoremove --purge kde*

Command explanation

# dpkg -l       lists all installed packages
# grep .kde.    filters, so that only packages with keyword kde within their names, listed
# purge         removes mentioned package
# autoremove    tries to remove dependency packages

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .