I installed kubuntu-desktop just to experiment with its interface. Then I decided to remove and did the traditional apt-get purge and autoremove but it seems elements of kubuntu are still there. For example interface elements, scrollbars, bootscreen etc are still there.

Is there any method I can completely remove without installing a fresh copy of ubuntu?


9 Answers 9


I would recommend you to use aptitude to do this operation, this will search the packages that would remove the KDE environment and leave Ubuntu's default:

sudo apt-get install aptitude
aptitude search '?and(?and(?and(?reverse-depends(kubuntu),?not(?reverse-depends(ubuntu-desktop))),?automatic), ?not(?or(?priority(required), ?priority(important))))' ubuntu-desktop+

This will search for any package that kubuntu-desktop depends to, but doesn't depends of ubuntu-desktop. Also, this method is a bit greedy. It will remove Qt packages, ergo mplayer2, VLC and any package that depends on Qt libraries may be deleted. Add those packages with a plus sign (+) at the end, like ubuntu-desktop package in this case. For other flavors:


aptitude search '?and(?and(?and(?reverse-depends(kubuntu),?not(?reverse-depends(xubuntu-desktop))),?automatic), ?not(?or(?priority(required), ?priority(important))))' xubuntu-desktop+


aptitude search '?and(?and(?and(?reverse-depends(kubuntu),?not(?reverse-depends(lubuntu-desktop))),?automatic), ?not(?or(?priority(required), ?priority(important))))' lubuntu-desktop+


aptitude search '?and(?and(?and(?reverse-depends(kubuntu),?not(?reverse-depends(ubuntu-gnome-desktop))),?automatic), ?not(?or(?priority(required), ?priority(important))))' ubuntu-gnome-desktop+

As you can see, only replace the last packages name with the name of your preferred to leave. If you used kde-core or other metapackages you should replace "kubuntu" with the name of the metapackage.

Making sense of aptitude search

To explain exactly which package are selected, lets explain the search command more deeply:

        ?and(                          // we're searching for packages that are
            ?reverse-depends(kubuntu), // reverse dependencies of kubuntu
            ?not(?reverse-depends(ubuntu-desktop)) // and not of ubuntu-desktop
            ),     // that fulfills the condition above 
        ?automatic // and is automatically installed
     ?not(                        // and also that are not
         ?or(                     // either required nor important
  • 2
    I am doubting the validity of this method. I tried removing kubuntu as suggested. It tried to remove the following packages which are definitely not just used by kubuntu: evolution, cryptsetup, lsb, skype, software-center, ubuntu-desktop, wine, and the list goes on..... Needless to say I did not continue the uninstallation. Jan 7, 2015 at 11:53
  • @JacquesMALAPRADE is impossible that it tries to remove ubuntu-desktop because ?not(?reverse-depends(?exact-name(ubuntu-desktop)))). So, you obviously did something wrong.
    – Braiam
    Jan 7, 2015 at 16:05
  • 1
    It asked to try harder again and then came up with the following which clearly states that ubuntu-desktop will be removed. paste.ubuntu.com/9717405 . along with skype, evolution etc.... Jan 12, 2015 at 9:14
  • 2
    The commands you proposed for Ubuntu removed from my system python, fonts, the file manager, and a lot more... eventually nothing worked on my system and I had to reinstall the OS... Mar 8, 2015 at 13:45
  • 1
    It ruined my system too. Now i have some unmet dependencies, if install vlc or qBitorrent. Sep 7, 2015 at 12:16

Try installing Synaptic Package Manager from the Software Center.

Or just type in a terminal: sudo apt-get install synaptic

Once you have installed and opened the program, in the sections tab, find the KDE Desktop Environment sections and select all installed (green) selections (Ctrl+Click). Then right click, select Completely remove and apply the changes by clicking the Green check mark at the top of the window.

  • Synaptic is a great tool! I recommend it. But as always when doing big changes to your system, do a backup first!
    – toesslab
    Dec 20, 2016 at 18:27

in 14.04 LTS 64Bit

sudo apt-get remove libkde3support4 k3b-data ntrack-module-libnl-0 libkrosscore4 libgpgme++2 libqapt2 oxygen-icon-theme libktexteditor4 libtaskmanager4abi5 kdenetwork-filesharing libkblog4 libchm1 plasma-widgets-addons libkimap4 plasma-netbook libkdeui5 libkdeclarative5 ttf-oxygen-font-family gtk3-engines-oxygen user-manager gpgsm libakonadi-kcal4 kdepim-kresources libruby1.9.1 plymouth-theme-kubuntu-logo libqt4-sql-mysql libmailtransport4 kde-telepathy-filetransfer-handler kde-zeroconf libkpimtextedit4 konsole liblastfm1 libqjson0 libtag-extras1 libkdecorations4abi1 libkdcraw23 libkpeople3 kdepimlibs-kio-plugins libqrencode3 libkparts4 libakonadiprotocolinternals1 libbalooxapian4 akonadi-server nepomuk-core-data libqca2 kubuntu-notification-helper kdemultimedia-kio-plugins libntrack0 kde-runtime-data cdparanoia libplasma-geolocation-interface4 quassel-data libkemoticons4 libmessagecomposer4 libweather-ion6 cdrdao libnepomukquery4a bluedevil libakonadi-notes4 libkmediaplayer4 libksieveui4 muon-discover libmicroblog4 libnetworkmanagerqt1 libqt4-qt3support libkcddb4 amarok-utils libmailcommon4 libktpcommoninternalsprivate7 libprocessui4a katepart libmusicbrainz5-0 libkwineffects1abi4 libreoffice-base libkdepim4 kaddressbook soprano-daemon libmessageviewer4 libkwinglesutils1 libsoprano4 libqapt2-runtime vcdimager libcln6 libvirtodbc0 libbaloopim4 okular libqca2-plugin-ossl libkonq5abi1 ubuntu-release-upgrader-qt python3-pyqt4 libkephal4abi1 libksba8 kdesudo libqoauth1 gnupg-agent libxerces-c3.1 kde-telepathy-data kdelibs5-plugins kcalc libqmobipocket1 systemsettings libkolabxml1 libsyndication4 libkjsapi4 libplasmagenericshell4 libksane0 libkprintutils4 knotes libkactivities6 libincidenceeditorsng4 lightdm-kde-greeter libreoffice-sdbc-firebird libiso9660-8 kubuntu-docs amarok gwenview libkcalcore4 virtuoso-opensource-6.1-common libkmbox4 virtuoso-opensource-6.1-bin libakonadi-contact4 libakonadi-socialutils4 plasma-widget-kimpanel kde-touchpad python3-dbus.mainloop.qt libqtscript4-gui python3-pykde4 plasma-widget-menubar libxcb-record0 libkcompactdisc4 kde-config-telepathy-accounts libkabc4 libkunitconversion4 okular-extra-backends plymouth-theme-kubuntu-text libcryptsetup4 ktorrent-data libknewstuff3-4 kde-workspace-kgreet-plugins kde-config-tablet gstreamer0.10-qapt akregator libxcb-xtest0 libnepomukutils4 odbcinst1debian2 kate libkmanagesieve4 libprocesscore4abi1 libqtscript4-network libksane-data ibus-qt4 ttf-dejavu-core libyaml-0-2 libkxmlrpcclient4 plasma-nm libpam-ck-connector libqgpgme1 print-manager libksignalplotter4 libkipi-data klipper libakonadi-kmime4 gtk2-engines-oxygen kde-telepathy-text-ui libkhtml5 libkcal4 libkmime4 ksysguardd kontact libmailimporter4 libakonadi-calendar4 libprison0 libsendlater4 libntrack-qt4-1 libsignon-qt1 libkldap4 libkfile4 kubuntu-settings-desktop libpoppler-qt4-4 kamera libbaloofiles4 libtelepathy-qt4-2 libnoteshared4 libakonadi-kde4 libreoffice-kde icoutils libgrantlee-gui0 socat libkdepimdbusinterfaces4 audiocd-kio libmodemmanagerqt1 liboath0 libmessagecore4 libqtglib-2.0-0 kde-baseapps-bin kubuntu-driver-manager libattica0.4 libmygpo-qt1 libkdesu5 libknewstuff2-4 dragonplayer libdlrestrictions1 libgps20 kde-telepathy-send-file libstreams0 libkidletime4 libkateinterfaces4 libknotifyconfig4 qapt-deb-installer libtemplateparser4 about-distro dolphin kinfocenter libplasmaclock4abi4 amarok-common kaccessible libqtscript4-uitools libxcb-composite0 libkcalutils4 libreoffice-java-common usb-creator-kde libkdecore5 kdelibs-bin plasma-desktop skanlite kmag kdegraphics-strigi-analyzer nepomuk-core-runtime plasma-scriptengine-javascript libperl4-corelibs-perl qapt-batch kde-wallpapers-default libloudmouth1-0 libqaccessibilityclient0 libktnef4 libflac++6 libnepomuk4 libkleo4 odbcinst pam-kwallet libstreamanalyzer0 libkdcraw-data docbook-xsl libkntlm4 libopenconnect2 software-properties-kde ktorrent krdc kmousetool kde-workspace-data libqtscript4-core partitionmanager cryptsetup libvcdinfo0 libboost-thread1.54.0 libkfbapi1 libxcb-damage0 ruby1.9.1 libkcmutils4 libkpimidentities4 libreoffice-style-oxygen k3b libkworkspace4abi2 colord-kde libkfilemetadata4 kde-style-oxygen libdebconf-kde0 libktorrent-l10n libpolkit-qt-1-1 libkolab0 libepub0 libkdgantt2-0 kubuntu-settings-netbook libqtscript4-xml kubuntu-web-shortcuts libtelepathy-logger-qt4-1 libkactivities-models1 libkpimutils4 freespacenotifier pinentry-qt4 kde-config-gtk-style libkgapi2-2 baloo libkubuntu0 python3-sip kmix libkio5 libxml2-utils ksnapshot libktorrent5 libakonadi-kabc4 libpimcommon4 kde-config-whoopsie libkpgp4 khelpcenter4 oxygen-cursor-theme shared-desktop-ontologies libkexiv2-data libplasma3 muon-updater kde-config-pimactivity kde-telepathy libaccounts-qt1 kdepasswd libqtscript4-sql libkexiv2-11 libkontactinterface4 libmessagelist4 kde-telepathy-integration-module kdepim-runtime libkscreen1 && sudo apt-get install ubuntu-desktop
  • Do you have a link to the page where this command is? I believe I've seen it documented somewhere. Jan 16, 2015 at 17:31

As Braiams didn't work for me, i did the following:

Go to /var/log/apt and search for "kubuntu-desktop" in history.log (or any of the compressed history.log.[n].gz files) to find the exact packages installed with kubuntu-desktop and remove them.


This worked for me:

sudo apt-get install tasksel
sudo tasksel

find Kubuntu desktop in the list and remove its selection. Read and confirm the propmts.

After this I also did

sudo apt-get autoremove
  • 3
    This removes everything from your system. Dont do it. Jul 9, 2019 at 8:13
  • @JoaoCarlos can you explain what you mean by "everything"? Sep 8, 2019 at 14:59
  • @MaxvonHippel it removes the windowing system, all programs, all drivers, everything. Your system wont boot anymore except for what ever you select (ie. nothing) Sep 11, 2019 at 16:08
  • It removes everything thing , why I did it :(
    – Mr Coder
    Nov 11, 2019 at 7:04
  • NOTE: because of a bug in tasksel, DO NOT use tasksel to uninstall packages. ONLY use tasksel to install.
    – mchid
    Dec 30, 2021 at 21:00

You could use apt-rdepends to find all the packages that have been installed by (the meta package) kubuntu-desktop and use the list as the input to apt-get purge. Possibly purging kdelibs* should be sufficient.

Another possibility would be to remove Qt (i.e. libqt4*), since KDE ist dependent on qt it will remove all KDE packages. However, this does not work very well if other Qt applications are used on the other desktop.

However, in any case, inspect the packages that apt-get wants to remove very carefully, since potentially the whole installation could be messed up by something like this.


i have used this command in ubuntu 14.04.5 LTS and after doing it my system works like it does on the previouss state , you can use commmand

sudo apt-get remove about-distro akonadi-backend-mysql akonadi-server akregator amarok  amarok-common amarok-utils apport-kde apturl-kde ark audiocd-kio baloo
  bluedevil ca-certificates-java cdparanoia cdrdao colord-kde consolekit
  cryptsetup cryptsetup-bin default-jre default-jre-headless docbook-xml
  docbook-xsl dolphin dragonplayer fonts-dejavu-extra freerdp-x11
  freespacenotifier gnupg-agent gnupg2 gpgsm gstreamer0.10-qapt
  gtk2-engines-oxygen gtk3-engines-oxygen gwenview ibus-qt4 icoutils
  java-common k3b k3b-data kaccessible kaddressbook kamera kate kate-data
  katepart kcalc kde-base-artwork kde-baseapps-bin kde-baseapps-data
  kde-config-gtk-style kde-config-pimactivity kde-config-tablet
  kde-config-telepathy-accounts kde-config-whoopsie kde-runtime
  kde-runtime-data kde-style-oxygen kde-telepathy kde-telepathy-approver
  kde-telepathy-auth-handler kde-telepathy-contact-list kde-telepathy-data
  kde-telepathy-declarative kde-telepathy-desktop-applets
  kde-telepathy-filetransfer-handler kde-telepathy-integration-module
  kde-telepathy-minimal kde-telepathy-send-file kde-telepathy-text-ui
  kde-touchpad kde-wallpapers-default kde-window-manager
  kde-window-manager-common kde-workspace kde-workspace-bin kde-workspace-data
  kde-workspace-kgreet-plugins kde-zeroconf kdegraphics-strigi-analyzer
  kdelibs-bin kdelibs5-data kdelibs5-plugins kdemultimedia-kio-plugins
  kdenetwork-filesharing kdepasswd kdepim-kresources kdepim-runtime
  kdepimlibs-kio-plugins kdesudo kdoctools khelpcenter4 kinfocenter
  kio-audiocd kio-mtp klipper kmag kmail kmenuedit kmix kmousetool knotes
  konsole kontact korganizer krdc kscreen ksnapshot ksysguard ksysguardd
  ksystemlog ktorrent ktorrent-data kubuntu-debug-installer kubuntu-desktop
  kubuntu-docs kubuntu-driver-manager kubuntu-notification-helper
  kubuntu-settings-desktop kubuntu-settings-netbook kubuntu-web-shortcuts
  kwalletmanager libaccounts-qt1 libaio1 libakonadi-calendar4
  libakonadi-contact4 libakonadi-kabc4 libakonadi-kcal4 libakonadi-kde4
  libakonadi-kmime4 libakonadi-notes4 libakonadi-socialutils4
  libakonadiprotocolinternals1 libao-common libao4 libatk-wrapper-java
  libatk-wrapper-java-jni libattica0.4 libavcodec54 libavformat54 libavutil52
  libbaloocore4 libbaloofiles4 libbaloopim4 libbaloowidgets4 libbalooxapian4
  libbluedevil1 libbonobo2-0 libbonobo2-common libboost-program-options1.54.0
  libboost-thread1.54.0 libcalendarsupport4 libchm1 libck-connector0 libcln6
  libcryptsetup4 libdebconf-kde0 libdlrestrictions1 libdmtx0a libdvdnav4
  libdvdread4 libepub0 libeventviews4 libflac++6 libgconf2-4 libgnome2-0
  libgnome2-bin libgnome2-common libgnomevfs2-0 libgnomevfs2-common
  libgpgme++2 libgps20 libgrantlee-core0 libgrantlee-gui0 libgsm1
  libhsqldb1.8.0-java libibus-qt1 libidl-common libidl0 libilmbase6
  libincidenceeditorsng4 libindicate-qt1 libindicate5 libiso9660-8 libk3b6
  libkabc4 libkactivities-bin libkactivities-models1 libkactivities6
  libkalarmcal2 libkateinterfaces4 libkatepartinterfaces4 libkblog4 libkcal4
  libkcalcore4 libkcalutils4 libkcddb4 libkcmutils4 libkcompactdisc4
  libkdcraw-data libkdcraw23 libkde3support4 libkdeclarative5
  libkdecorations4abi1 libkdecore5 libkdepim4 libkdepimdbusinterfaces4
  libkdesu5 libkdeui5 libkdewebkit5 libkdgantt2-0 libkdnssd4 libkemoticons4
  libkephal4abi1 libkexiv2-11 libkexiv2-data libkfbapi1 libkfile4
  libkfilemetadata4 libkgapi2-2 libkholidays4 libkhtml5 libkidletime4
  libkimap4 libkio5 libkipi-data libkipi11 libkjsapi4 libkjsembed4 libkldap4
  libkleo4 libkmanagesieve4 libkmbox4 libkmediaplayer4 libkmime4
  libknewstuff2-4 libknewstuff3-4 libknotifyconfig4 libkntlm4 libkolab0
  libkolabxml1 libkonq-common libkonq5-templates libkonq5abi1
  libkontactinterface4 libkparts4 libkpeople3 libkpgp4 libkpimidentities4
  libkpimtextedit4 libkpimutils4 libkprintutils4 libkpty4 libkresources4
  libkrosscore4 libksane-data libksane0 libksba8 libkscreen1 libkscreensaver5
  libksgrd4 libksieve4 libksieveui4 libksignalplotter4 libktexteditor4
  libktnef4 libktorrent-l10n libktorrent5 libktpcommoninternalsprivate7
  libkubuntu0 libkunitconversion4 libkwineffects1abi4 libkwinglesutils1
  libkwinglutils1abi3 libkworkspace4abi2 libkxmlrpcclient4 liblastfm1
  liblightdm-qt-3-0 libloudmouth1-0 libmailcommon4 libmailimporter4
  libmailtransport4 libmessagecomposer4 libmessagecore4 libmessagelist4
  libmessageviewer4 libmicroblog4 libmodemmanagerqt1 libmp3lame0 libmpcdec6
  libmuonprivate2 libmygpo-qt1 libmysqlclient18 libnepomuk4 libnepomukcleaner4
  libnepomukcore4abi1 libnepomukquery4a libnepomukutils4 libnetworkmanagerqt1
  libnoteshared4 libntrack-qt4-1 libntrack0 liboath0 libokularcore4
  libopenconnect2 libopenexr6 libopenjpeg2 libopus0 liborbit-2-0 liborbit2
  libpam-ck-connector libperl4-corelibs-perl libphonon4 libpimactivity4
  libpimcommon4 libplasma-geolocation-interface4 libplasma3
  libplasmaclock4abi4 libplasmagenericshell4 libpolkit-qt-1-1 libpoppler-qt4-4
  libprison0 libprocesscore4abi1 libprocessui4a libpth20
  libqaccessibilityclient0 libqalculate5 libqalculate5-data libqapt2
  libqapt2-runtime libqca2 libqca2-plugin-ossl libqgpgme1 libqimageblitz4
  libqjson0 libqmobipocket1 libqoauth1 libqrencode3 libqt4-qt3support
  libqt4-sql-mysql libqtglib-2.0-0 libqtscript4-core libqtscript4-gui
  libqtscript4-network libqtscript4-sql libqtscript4-uitools libqtscript4-xml
  libreoffice-base libreoffice-base-drivers libreoffice-java-common
  libreoffice-kde libreoffice-sdbc-firebird libreoffice-sdbc-hsqldb
  libreoffice-style-oxygen libruby1.9.1 libschroedinger-1.0-0 libsctp1
  libsendlater4 libservlet3.0-java libsignon-qt1 libsolid4 libsoprano4
  libstreamanalyzer0 libstreams0 libsyndication4 libtag-extras1
  libtaskmanager4abi5 libtelepathy-logger-qt4-1 libtelepathy-qt4-2
  libtemplateparser4 libthreadweaver4 libva1 libvcdinfo0 libvirtodbc0
  libweather-ion6 libx264-142 libxcb-composite0 libxcb-damage0 libxcb-record0
  libxcb-xtest0 libxerces-c3.1 libxvidcore4 libyaml-0-2 libzip2
  lightdm-kde-greeter lksctp-tools muon-discover muon-notifier muon-updater
  mysql-client-core-5.5 mysql-common mysql-server-core-5.5 nepomuk-core-data
  nepomuk-core-runtime ntrack-module-libnl-0 odbcinst odbcinst1debian2 okular
  okular-extra-backends openjdk-7-jre openjdk-7-jre-headless
  oxygen-cursor-theme oxygen-icon-theme p7zip-full pam-kwallet
  partitionmanager phonon phonon-backend-gstreamer
  phonon-backend-gstreamer-common phonon-backend-gstreamer1.0 pinentry-gtk2
  pinentry-qt4 plasma-dataengines-addons plasma-dataengines-workspace
  plasma-desktop plasma-netbook plasma-nm plasma-runner-telepathy-contact
  plasma-scriptengine-javascript plasma-widget-folderview
  plasma-widget-kimpanel plasma-widget-menubar plasma-widgets-addons
  plasma-widgets-workspace plymouth-theme-kubuntu-logo
  plymouth-theme-kubuntu-text polkit-kde-1 print-manager
  python3-dbus.mainloop.qt python3-pykde4 python3-pyqt4 python3-sip qapt-batch
  qapt-deb-installer quassel quassel-data ruby ruby1.9.1 scdaemon sgml-data
  shared-desktop-ontologies skanlite socat software-properties-kde
  soprano-daemon systemsettings ttf-dejavu-core ttf-oxygen-font-family
  tzdata-java ubuntu-release-upgrader-qt usb-creator-kde user-manager
  vcdimager virtuoso-minimal virtuoso-opensource-6.1-bin
  virtuoso-opensource-6.1-common kubuntu-desktop  

The answer is at : https://help.ubuntu.com/community/PureGnome and http://www.psychocats.net/ubuntu/puregnome

1) Choose the method corresponding to your ubuntu version

2) Check which programs from the KDE environment you would like to keep because you need it and a) remove it from the removal list (with dependencies) or b) leave it in the list and reinstall it later.

3) Copy/past the command The command is as stated in this webpage and depends on your version, but generally looks like :

sudo apt-get remove akonadi-backend-mysql akonadi-server akregator amarok amarok-common amarok-utils apport-kde apturl-kde ark bluedevil cdparanoia cdrdao .... and a lot of packages

The command will not remove configuration files anyway, only the programs. If you want to also remove the config files, you will add the --purge option to the command.


Warning: The list of packages below is for a plain default install of Ubuntu with Kubuntu. You may want to keep some of the below packages and you should review what apt is going to remove before accepting.

These removal commands were created based on what Kubuntu, Xubuntu, etc. packages were added to a default Ubuntu installation. It's possible that the commands might remove some other packages you have since added to the default and want to keep. If that's the case, keep track of which packages those are and reinstall them. Your settings should still be there.

As always,backup your partition before modifying it.

Cheers, Raph


the proposed solution via aptitude does not work with the default kubuntu 14.04 installation, failing with an error message that says it can not find a solution.

A simple alternative, although likely not removing 100% was to do

    sudo apt-get remove plasma*

This removed kde applications like kmail, k3b, kopete, digikam,and the desktop.

You must log in to answer this question.

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