16

I wanted to switch to Xfce (I had KDE and GNOME installed), and I did this :

sudo apt-get install xubuntu-desktop
sudo apt-get remove kubuntu-desktop
sudo apt-get remove ubuntu-desktop
sudo apt-get autoremove

but to my surprise, I could still pick gnome, kde plasma, etc during the log in.

So, how do I completely remove KDE and GNOME desktops?

1
  • Why is this so hard? Dec 19, 2019 at 21:13

4 Answers 4

20

As per the suggestion in this site, you can get pure xubuntu-desktop:

From Ubuntu Quantal:

sudo apt-get remove adium-theme-ubuntu apg appmenu-gtk appmenu-gtk3 appmenu-qt at-spi2-core bamfdaemon banshee banshee-extension-soundmenu banshee-extension-ubuntuonemusicstore baobab binfmt-support bluez-gstreamer branding-ubuntu brasero brasero-cdrkit brasero-common checkbox checkbox-gtk cli-common compiz compiz-core compiz-gnome compiz-plugins-default compiz-plugins-main-default compizconfig-backend-gconf deja-dup duplicity dvd+rw-tools empathy empathy-common eog evolution-data-server evolution-data-server-common example-content gbrainy gedit gedit-common geoclue geoclue-ubuntu-geoip ginn gir1.2-atspi-2.0 gir1.2-gnomebluetooth-1.0 gir1.2-gtksource-3.0 gir1.2-indicate-0.6 gir1.2-peas-1.0 gir1.2-totem-1.0 gir1.2-totem-plparser-1.0 gir1.2-wnck-3.0 gnome-bluetooth gnome-control-center gnome-control-center-data gnome-desktop3-data gnome-disk-utility gnome-font-viewer gnome-icon-theme-symbolic gnome-media gnome-nettool gnome-online-accounts gnome-orca gnome-power-manager gnome-screensaver gnome-screenshot gnome-search-tool gnome-session gnome-session-bin gnome-session-canberra gnome-session-common gnome-settings-daemon gnome-system-log gnome-system-monitor gnome-terminal gnome-terminal-data gnome-user-share gnome-utils-common growisofs gstreamer0.10-gconf gvfs-backends gwibber gwibber-service gwibber-service-facebook gwibber-service-identica gwibber-service-twitter hwdata ibus-gtk3 indicator-appmenu indicator-datetime indicator-power indicator-session intel-gpu-tools libappindicator0.1-cil libarchive1 libatk-adaptor libatspi2.0-0 libaudio2 libbamf0 libbamf3-0 libboost-serialization1.46.1 libbrasero-media3-1 libcamel-1.2-29 libcanberra-pulse libcdio-cdda0 libcdio-paranoia0 libcdio10 libcompizconfig0 libdbus-glib1.0-cil libdbus1.0-cil libdbusmenu-qt2 libdconf-dbus-1-0 libdconf-qt0 libdconf0 libdecoration0 libebackend-1.2-1 libebook1.2-12 libecal1.2-10 libedata-book-1.2-11 libedata-cal-1.2-13 libedataserver1.2-15 libedataserverui-3.0-1 libexempi3 libfolks-telepathy25 libfolks25 libgail-3-common libgail-common libgconf2.0-cil libgdata-common libgdata1.7-cil libgdata13 libgdiplus libgdu-gtk0 libgeoclue0 libgexiv2-0 libgif4 libgkeyfile1.0-cil libglew1.5 libglewmx1.5 libglib2.0-bin libglib2.0-cil libglib2.0-data libgmime-2.4-2 libgmime2.4-cil libgnome-control-center1 libgnome-desktop-3-2 libgnome-media-profiles-3.0-0 libgnome-menu2 libgnome2-common libgnomekbd-common libgnomekbd7 libgoa-1.0-0 libgpgme11 libgpod-common libgpod4 libgtk-sharp-beans-cil libgtk2.0-cil libgtkmm-3.0-1 libgtksourceview-3.0-0 libgtksourceview-3.0-common libgtkspell3-0 libgudev1.0-cil libgweather-3-0 libgweather-common libgwibber-gtk2 libgwibber2 libhyphen0 libidl0 liblaunchpad-integration1.0-cil liblircclient0 liblouis-data liblouis2 libmetacity-private0 libmhash2 libmission-control-plugins0 libmono-addins-gui0.2-cil libmono-addins0.2-cil libmono-cairo4.0-cil libmono-corlib4.0-cil libmono-csharp4.0-cil libmono-i18n-west4.0-cil libmono-i18n4.0-cil libmono-posix4.0-cil libmono-security4.0-cil libmono-sharpzip4.84-cil libmono-system-configuration4.0-cil libmono-system-core4.0-cil libmono-system-drawing4.0-cil libmono-system-security4.0-cil libmono-system-xml4.0-cil libmono-system4.0-cil libmono-zeroconf1.0-cil libmtp-common libmtp-runtime libmtp9 libmysqlclient16 libmythes-1.2-0 libneon27-gnutls libnotify0.4-cil libnux-1.0-0 libnux-1.0-common liboauth0 liborbit2 liboverlay-scrollbar-0.2-0 liboverlay-scrollbar3-0.2-0 libpeas-1.0-0 libpeas-common libprotobuf7 libprotoc7 libpth20 libqt4-dbus libqt4-declarative libqt4-network libqt4-opengl libqt4-script libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-xml libqt4-xmlpatterns libqtbamf1 libqtcore4 libqtdee2 libqtgconf1 libqtgui4 libquvi0 libraptor2-0 librasqal3 librdf0 libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-emailmerge libreoffice-gnome libreoffice-gtk libreoffice-help-en-us libreoffice-impress libreoffice-math libreoffice-style-human libreoffice-writer librest-0.7-0 librsync1 libsdl1.2debian libsdl1.2debian-pulseaudio libstlport4.6ldbl libsyncdaemon-1.0-1 libtaglib2.0-cil libtelepathy-farsight0 libtelepathy-logger2 libtextcat-data libtextcat0 libtotem-plparser17 libtotem0 libubuntuone-1.0-1 libubuntuone1.0-cil libunique-3.0-0 libunity-2d-private0 libunity-core-4.0-4 libunity-misc4 libwmf0.2-7-gtk libwnck-3-0 libwnck-3-common libyajl1 libzeitgeist-1.0-1 light-themes media-player-info metacity metacity-common mono-4.0-gac mono-gac mono-runtime mousetweaks mysql-common nautilus nautilus-sendto nautilus-sendto-empathy nautilus-share notify-osd notify-osd-icons nux-tools obexd-client overlay-scrollbar plymouth-theme-ubuntu-logo protobuf-compiler pulseaudio-module-bluetooth pulseaudio-module-gconf python-brlapi python-configglue python-dateutil python-egenix-mxdatetime python-egenix-mxtools python-farsight python-indicate python-libproxy python-louis python-papyon python-protobuf python-pyatspi2 python-pyinotify python-speechd python-support python-telepathy python-twisted-names python-ubuntuone-client python-ubuntuone-control-panel python-ubuntuone-storageprotocol python-uno python-wnck qdbus qt-at-spi seahorse shotwell sni-qt ssh-askpass-gnome telepathy-butterfly telepathy-gabble telepathy-haze telepathy-idle telepathy-indicator telepathy-logger telepathy-mission-control-5 telepathy-salut thunderbird-gnome-support tomboy totem totem-common totem-mozilla totem-plugins ubuntu-artwork ubuntu-desktop ubuntu-docs ubuntu-mono ubuntu-sounds ubuntu-system-service ubuntu-wallpapers ubuntuone-client ubuntuone-client-gnome ubuntuone-control-panel ubuntuone-control-panel-gtk ubuntuone-couch ubuntuone-installer unity unity-2d unity-2d-launcher unity-2d-panel unity-2d-places unity-2d-spread unity-asset-pool unity-common unity-lens-applications unity-lens-files unity-lens-music unity-scope-musicstores unity-services uno-libs3 ure vino whois wodim xdiagnose xfonts-mathml zeitgeist zeitgeist-datahub zeitgeist-extension-fts

From Kubuntu Quantal:

sudo apt-get remove akonadi-backend-mysql akonadi-server akregator amarok amarok-common amarok-utils appmenu-gtk appmenu-gtk3 appmenu-qt apport-kde apturl-kde ark bluedevil cdparanoia cdrdao docbook-xsl dolphin dragonplayer dvd+rw-tools freespacenotifier gnupg-agent gnupg2 gpgsm growisofs gstreamer0.10-qapt gtk2-engines-oxygen gwenview ibus-qt4 icoutils jockey-kde k3b k3b-data kaccessible kaddressbook kamera kate kate-data katepart kcalc kde-baseapps-bin kde-baseapps-data kde-config-gtk kde-config-touchpad kde-runtime kde-runtime-data kde-wallpapers-default kde-window-manager kde-workspace kde-workspace-bin kde-workspace-data kde-workspace-kgreet-plugins kde-zeroconf kdebase-runtime kdegames-card-data kdegraphics-strigi-analyzer kdelibs-bin kdelibs5-data kdelibs5-plugins kdemultimedia-kio-plugins kdenetwork-filesharing kdepasswd kdepim-groupware kdepim-kresources kdepim-runtime kdepim-strigi-plugins kdepim-wizards kdepimlibs-kio-plugins kdesudo kdm kdoctools kfind khelpcenter4 kinfocenter klipper kmag kmail kmix kmousetool knotes konsole kontact kopete kopete-message-indicator korganizer kpat kppp ksnapshot ksysguard ksysguardd ksystemlog ktimetracker ktorrent ktorrent-data kubuntu-debug-installer kubuntu-default-settings kubuntu-desktop kubuntu-docs kubuntu-firefox-installer kubuntu-netbook-default-settings kubuntu-notification-helper kubuntu-web-shortcuts kvkbd kwalletmanager language-selector-kde libakonadi-calendar4 libakonadi-contact4 libakonadi-kabc4 libakonadi-kcal4 libakonadi-kde4 libakonadi-kmime4 libakonadiprotocolinternals1 libarchive1 libassuan0 libattica0 libaudio2 libbluedevil1 libboost-program-options1.46.1 libcalendarsupport4 libcanberra-pulse libcln6 libclucene0ldbl libdbusmenu-qt2 libdebconf-kde0 libdiscid0 libdlrestrictions1 libdmtx0a libepub0 libeventviews4 libflac++6 libgadu3 libgif4 libgpgme++2 libgpgme11 libgpod4-nogtk libgps19 libgrantlee-core0 libhyphen0 libibus-qt1 libincidenceeditorsng4 libindicate-qt1 libiodbc2 libk3b6 libkabc4 libkateinterfaces4 libkatepartinterfaces4 libkblog4 libkcal4 libkcalcore4 libkcalutils4 libkcddb4 libkcmutils4 libkde3support4 libkdecorations4 libkdecore5 libkdegames5a libkdepim4 libkdepimdbusinterfaces4 libkdesu5 libkdeui5 libkdewebkit5 libkdgantt2 libkdnssd4 libkemoticons4 libkephal4abi1 libkexiv2-10 libkexiv2-data libkfile4 libkholidays4 libkhtml5 libkidletime4 libkimap4 libkio5 libkipi-data libkipi8 libkjsapi4 libkjsembed4 libkldap4 libkleo4 libkmanagesieve4 libkmbox4 libkmediaplayer4 libkmime4 libknewstuff2-4 libknewstuff3-4 libknotifyconfig4 libkntlm4 libkonq-common libkonq5-templates libkonq5abi1 libkontactinterface4 libkopete4 libkparts4 libkpgp4 libkpimidentities4 libkpimtextedit4 libkpimutils4 libkprintutils4 libkpty4 libkresources4 libkrosscore4 libksba8 libkscreensaver5 libksgrd4 libksieve4 libksieveui4 libksignalplotter4 libktexteditor4 libktnef4 libktorrent-l10n libktorrent3 libkunitconversion4 libkwineffects1abi2 libkworkspace4 libkxmlrpcclient4 liblastfm0 libmailcommon4 libmailtransport4 libmessagecomposer4 libmessagecore4 libmessagelist4 libmessageviewer4 libmhash2 libmicroblog4 libmpcdec6 libmsn0.3 libmtp-common libmtp-runtime libmtp9 libmuonprivate1 libmusicbrainz3-6 libmysqlclient16 libmythes-1.2-0 libneon27-gnutls libnepomuk4 libnepomukquery4a libnepomukutils4 libntrack-qt4-1 libntrack0 libokularcore1 libphonon4 libplasma-geolocation-interface4 libplasma3 libplasmaclock4abi2 libplasmagenericshell4 libpolkit-qt-1-1 libpoppler-qt4-3 libprison0 libprocesscore4abi1 libprocessui4a libpth20 libqalculate5 libqapt-runtime libqapt1 libqca2 libqca2-plugin-ossl libqgpgme1 libqimageblitz4 libqjson0 libqrencode3 libqt4-dbus libqt4-declarative libqt4-designer libqt4-help libqt4-network libqt4-opengl libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite libqt4-svg libqt4-test libqt4-xml libqt4-xmlpatterns libqtassistantclient4 libqtcore4 libqtglib-2.0-0 libqtgstreamer-0.10-0 libqtgui4 libqtscript4-core libqtscript4-gui libqtscript4-network libqtscript4-sql libqtscript4-uitools libqtscript4-xml libqtwebkit4 libraptor2-0 librasqal3 librdf0 libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-emailmerge libreoffice-impress libreoffice-kde libreoffice-math libreoffice-style-human libreoffice-style-oxygen libreoffice-writer libsolid4 libsolidcontrol4abi2 libsolidcontrolifaces4abi2 libsoprano4 libssh-4 libstlport4.6ldbl libstreamanalyzer0 libstreams0 libsyndication4 libtag-extras1 libtaskmanager4abi2 libtemplateparser4 libtextcat-data libtextcat0 libthreadweaver4 libvirtodbc0 libweather-ion6 libxml2-utils libyajl1 libzip1 muon muon-installer muon-notifier muon-updater mysql-client-core-5.1 mysql-common mysql-server-core-5.1 ntrack-module-libnl-0 obexd-client odbcinst odbcinst1debian2 okular okular-extra-backends oxygen-cursor-theme oxygen-icon-theme oxygen-icon-theme-complete partitionmanager phonon phonon-backend-gstreamer pinentry-gtk2 pinentry-qt4 plasma-dataengines-addons plasma-dataengines-workspace plasma-desktop plasma-netbook plasma-scriptengine-javascript plasma-scriptengine-python plasma-widget-facebook plasma-widget-folderview plasma-widget-kimpanel plasma-widget-kimpanel-backend-ibus plasma-widget-menubar plasma-widget-message-indicator plasma-widget-networkmanagement plasma-widgets-addons plasma-widgets-workspace plymouth-theme-kubuntu-logo plymouth-theme-kubuntu-text printer-applet pulseaudio-module-bluetooth python-kde4 python-pyudev python-qt4 python-qt4-dbus python-sip python-uno qapt-batch qapt-deb-installer qdbus quassel quassel-data rekonq shared-desktop-ontologies software-properties-kde soprano-daemon system-config-printer-kde systemsettings uno-libs3 update-manager-kde ure usb-creator-kde userconfig virtuoso-minimal virtuoso-opensource-6.1-bin virtuoso-opensource-6.1-common wodim xfonts-mathml

From Lubuntu Quantal:

sudo apt-get remove ace-of-penguins audacious audacious-plugins chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg esound-common galculator gdebi gdebi-core giblib1 gir1.2-gnomebluetooth-1.0 gnome-bluetooth gnome-disk-utility gnome-mplayer gnome-user-share gpicview guvcview gvfs-backends hardinfo libarchive1 libaudclient2 libaudcore1 libaudio2 libaudiofile0 libavcodec53 libavformat53 libavutil51 libbinio1ldbl libcddb2 libcdio-cdda0 libcdio-paranoia0 libcdio10 libcompfaceg1 libcue1 libdca0 libdirectfb-1.2-9 libdiscid0 libdvdnav4 libdvdread4 libenca0 libesd0 libfaad2 libfluidsynth1 libfm-data libfm-gtk-data libfm-gtk1 libfm1 libgdu-gtk0 libgif4 libgpgme11 libgpod-common libgpod4 libgringotts2 libgsm1 libimlib2 liblircclient0 libmcrypt4 libmcs1 libmenu-cache1 libmhash2 libmms0 libmowgli2 libmtp-common libmtp-runtime libmtp9 libmusicbrainz3-6 libneon27-gnutls libobrender27 libobt0 libonig2 libopenal1 libopts25 libpisock9 libpostproc52 libpth20 libresid-builder0c2a libschroedinger-1.0-0 libsdl1.2debian libsdl1.2debian-alsa libsidplay2 libsvga1 libswscale2 libtar0 libts-0.0-0 libuniconf4.6 libunique-3.0-0 libva1 libvdpau1 libvpx0 libwebcam0 libwvstreams4.6-base libwvstreams4.6-extras libxvidcore4 lm-sensors lubuntu-artwork lubuntu-core lubuntu-default-settings lubuntu-desktop lubuntu-icon-theme lxappearance lxappearance-obconf lxde-common lxde-core lxdm lxinput lxkeymap lxlauncher lxmenu-data lxpanel lxpanel-indicator-applet-plugin lxrandr lxsession lxsession-edit lxshortcut lxtask lxterminal mplayer mtpaint ntp obconf obexd-client openbox openbox-themes osmo pcmanfm plymouth-theme-lubuntu-logo plymouth-theme-lubuntu-text python-support scrot sylpheed sylpheed-doc sylpheed-i18n sylpheed-plugins transmission tsconf uvcdynctrl uvcdynctrl-data wvdial xfonts-100dpi xpad && sudo apt-get install xubuntu-desktop

It suggests to do sudo apt-get install xubuntu-desktop which you have already done. How to convert Ubuntu to Xubuntu talks about the changes you will get so you must edit the command and see what you may need.

1
  • 1
    FYI: I can't see those crazy long command lines (in Chrome) until I highlight them...
    – Tom
    Nov 4, 2011 at 2:53
7

Background

The k/x/ubuntu-desktop packages are metapackages /1/.

"These packages do not contain actual software, they simply depend on other packages to be installed. This setup allows entire sets of software to be installed by selecting only the appropriate metapackage."

The Kubuntu desktop /2/ package is depending/recommending /4/ lot of packages. Some of them could be common with other desktops.

How did you install the desktops ?

The Synaptic and the Muon package managers are keeping history logs or parsing the dpkg log.

Checking installed/updated/removed packages from the dpkg log (command line):

Recent status log:

grep "status installed" /var/log/dpkg.log

grep upgrade /var/log/dpkg.log

grep remove /var/log/dpkg.log

A bit older dpkg log:

grep "status installed" /var/log/dpkg.log.1

grep upgrade /var/log/dpkg.log.1

grep remove /var/log/dpkg.log.1

The oldest logs - rotated dpkg logs (packed): dpkg.log.2.gz, dpkg.log.3.gz...

You could look the log files and search what the xubuntu-desktop, kubuntu-desktop, etc did install.

When testing/experimenting

Keeping own logs. There is the logsave command

:~$ man logsave /3/

NAME
       logsave - save the output of a command in a logfile

SYNOPSIS
       logsave [ -asv ] logfile cmd_prog [ ... ]

DESCRIPTION
       The  logsave  program  will execute cmd_prog with the specified argument(s), 
       and save a copy of its output to logfile.
       If the containing directory for logfile does not exist, logsave will 
       accumulate the output in memory until it  can  be
       written out.  A copy of the output will also be written to standard output.

example:

logsave testing_kubuntu-desktop.log sudo apt-get install kubuntu-desktop

With the testing_kubuntu-desktop.log it is a bit easier to remove/purge the unwanted packages.

Links:

  1. https://help.ubuntu.com/community/MetaPackages
  2. http://packages.ubuntu.com/oneiric/kubuntu-desktop
  3. http://en.wikipedia.org/wiki/Man_page
  4. https://wiki.ubuntu.com/JauntyJackalope/ReleaseNotes

    Recommended packages installed by default

    In accordance with the Debian Policy Manual (which says "The 'Recommends' field should list packages that would be found together with this one in all but unusual installations"), the package management system now installs packages listed in the Recommends: field of other installed packages as well as Depends: by default. If you want to avoid this for specific packages, use apt-get --no-install-recommends; if you want to make this permanent, set APT::Install-Recommends "false"; in /etc/apt/apt.conf. Be aware that this may result in missing features in some programs.

    (This change was made in Ubuntu 8.10.)

2

I decided after installing Lubuntu Desktop in 12.04 LTS that I was not going to use it and made plans to remove it. I got errors when following some of the instructions above. (I apologies, but I never kept the screen shots).
As the Lubuntu desktop was now broken, I used the Synaptic Package Manager, firstly to restore it (a redundant step really) and then to remove it completely.

The method was simple and the result was perfect, removing everything.

0

This command will help you to remove the given desktop:

sudo apt-get remove --purge *ubuntu-desktop ## (* indicates the prefix of the version before ubuntu)

To remove KDE entirely, try this:

sudo apt-get remove --purge kde-plasma-desktop kde-workspace kubuntu* plymouth-theme-kubuntu-logo plymouth-theme-kubuntu-text
sudo apt-get autoremove --purge && apt-get autoclean
0

You must log in to answer this question.

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