Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am on Xubuntu 13.10 and installed the meta package ubuntu-desktop about one hour ago to try it out. Unfortunately, it did not work well at all so I just went back to my Xfce-session.

Now there are some things different and I'd like to remove the packages which came with said meta package. Is there a way to install the ones which just were installed by ubuntu-desktop? Maybe it can be done via some apt-get magic?

share|improve this question
Try with sudo apt-get purge --auto-remove ubuntu-desktop, but be careful to read what packages are going to be uninstalled! – edwin Jan 26 '14 at 0:14
up vote 2 down vote accepted

The situation you are in is not uncommon and has been tackled in Getting back to a pure Xubuntu but those instructions are for older versions and not for 13.10. Even then, they have useful pointers and are worth a look.

You can do something like that yourself because whatever you've done by way of installing or removing software from the repositories using apt-get or the Software Center or Synaptic is recorded in /var/log/apt/history.log (and older archived files) in /var/log/apt. What you've done should be in the latest file, plain history.log. Take a look in there and make a note of the software installed on the relevant date.

Then, for simplicity and ease of monitoring what you're doing, purge a few programs at a time from the list of what you've identified. Each time first use the -s flag:

sudo apt-get purge -s package_name

to simulate what will be done without the -s switch.

Also, look in /usr/share/xsessions (using a terminal so that you see the real file names) and delete (after making a backup) the .desktop files of the sessions you don't want to see at log-in time.

Experts may have a more elegant way to grab the package names from the relevant line in history.log but here's one way using your pastebinit content:

  • copy line #3, the one beginning with "Install:" to a text editor, and delete upto the first package name. Save the file as unity.
  • open a terminal and run sed -i 's/), /)\n/g' unity. This introduces line breaks after each package.
  • run awk -F: '{ print $1 }' unity > unity1. This gives you a file with just the package names usable by apt-get. But each package is on a separate line.
  • fix that by running awk 1 ORS=', ' unity1 > unity2
  • manually remove the "," at the very end of the file**.

After these steps, you're left with something you can use in apt-get purge.

python3-pyatspi, syslinux-legacy, telepathy-haze, libqt5v8-5, telepathy-idle, libsgutils2-2, rhythmbox-plugins, empathy-common, libcrypt-passwdmd5-perl, empathy, gir1.2-dbusmenu-glib-0.4, account-plugin-salut, libgdata13, libsignon-glib1, libsignon-qt5-1, xul-ext-webaccounts, libgdata-common, signon-plugin-oauth2, apturl, libxcb-render-util0, libsignon-extension1, gnome-orca, libqt5sql5-sqlite, libsbc1, account-plugin-aim, ubuntu-docs, python-pyinotify, telepathy-salut, libdmapsharing-3.0-2, python-qt4-dbus, bluez-gstreamer, telepathy-gabble, gir1.2-totem-1.0, gnome-terminal, overlay-scrollbar, evolution-data-server-goa, gir1.2-gst-plugins-base-1.0, libqt5opengl5, libgexiv2-2, libfreerdp1, ubuntu-desktop, account-plugin-facebook, python3-chardet, deja-dup-backend-gvfs, python3-debian, deja-dup-backend-ubuntuone, gnome-disk-utility, libqt4-sql-sqlite, whoopsie-preferences, libgc1c2, telepathy-mission-control-5, python-configglue, libdbusmenu-qt2, libgee-0.8-2, remmina-plugin-rdp, libprotoc7, gstreamer1.0-nice, libfolks25, libxcb-image0, python3-brlapi, mtools, gstreamer1.0-clutter, libproxy1-plugin-networkmanager, libaccount-plugin-google, libqt5sql5, libxcb-icccm4, libaccount-plugin-generic-oauth, telepathy-logger, gnome-terminal-data, libqt5qml5, libsignon-plugins-common1, nautilus-sendto-empathy, account-plugin-windows-live, duplicity, libwmf0.2-7-gtk, landscape-client-ui-install, liblouis-data, libufe-xidgetter0, rhythmbox-plugin-magnatune, libwhoopsie-preferences0, totem-plugins, libmission-control-plugins0, python-ubuntuone-client, gnome-control-center-unity, rhythmbox-mozilla, python-ubuntuone-control-panel, libaccounts-glib0, libaccounts-qt5-1, libgweather-3-3, libfarstream-0.2-2, gnome-screensaver, libqt5core5, rhythmbox-data, libssh-4, libreoffice-presentation-minimizer, shotwell-common, libfolks-eds25, liboauth0, libtelepathy-logger3, shotwell, indicator-sync, rhythmbox-plugin-cdrecorder, libgpod4, remmina-common, protobuf-compiler, apturl-common, deja-dup, gnome-contacts, liblouis2, branding-ubuntu, libaccount-plugin-1.0-0, python-twisted-names, libfreerdp-plugins-standard, vino, libtotem0, totem, libqt5xml5, guile-2.0-libs, signon-plugin-password, libqt5quick5, libsync-menu1, usb-creator-common, libqt5test5, mcp-account-manager-uoa, remmina, libqt5printsupport5, libreoffice-ogltrans, python3-dirspec, sni-qt, libvncserver0, syslinux, python-protobuf, rhythmbox, libxcb-sync0, python-ubuntuone-storageprotocol, python3-speechd, totem-common, account-plugin-jabber, overlay-scrollbar-gtk2, overlay-scrollbar-gtk3, thunderbird-gnome-support, remmina-plugin-vnc, libfolks-telepathy25, libgweather-common, libproxy1-plugin-gsettings, activity-log-manager, syslinux-common, example-content, libqt5webkit5, notify-osd-icons, libtelepathy-farstream3, libqt5widgets5, xul-ext-websites-integration, gir1.2-gnomekeyring-1.0, totem-mozilla, udisks, rhythmbox-plugin-zeitgeist, libecal-1.2-15, rhythmbox-ubuntuone, gir1.2-dee-1.0, account-plugin-yahoo, gir1.2-syncmenu-0.1, signon-ui, libgpod-common, unity-webapps-common, evolution-data-server, webaccounts-extension-common, ubuntuone-control-panel, python-markupsafe, ubuntuone-client-data, pulseaudio-module-bluetooth, gnome-control-center-signon, gnome-mahjongg, libqt53d5, python3-louis, libqt5dbus5, librsync1, ubuntuone-client, ubuntu-sso-client-qt, qt-at-spi, gir1.2-unity-5.0, usb-creator-gtk, libraw9, gir1.2-totem-plparser-1.0, libqt5gui5, account-plugin-google, signon-keyring-extension, liblvm2app2.2, libqt5network5, media-player-info, gir1.2-rb-3.0, python3-six, activity-log-manager-control-center, librhythmbox-core7, folks-common, plymouth-theme-ubuntu-logo, libqt5location5, libedata-cal-1.2-20, notify-osd, ubuntuone-control-panel-qt, libavahi-gobject0, libqt5sensors5, aisleriot, python-mako, nautilus-share, xul-ext-unity, libgail-common, signond

**See for code on removing the terminal ",".

share|improve this answer
Yup, exactly, those instructions are all not for 13.10 which is why I opened the question. :/ Alright, so far so good, your advice was really helpful. :) Found the instance which said that ubuntu-desktop was installed: . I'm sure I could somehow "grab" the packages of that exact line of code in history.log and remove them, and then add ` && sudo apt-get install xubuntu-desktop` afterwards. Hm... – henry Jan 26 '14 at 9:41
answer updated to include a way to process the pastebinit info to something usable – user25656 Jan 26 '14 at 12:50
Thanks for the heads up, I hadn't noticed. Although I found that I somehow managed to overcome some problems (such as keyboard shortcuts not working anymore), I chose another way (sudo apt-get purge --auto-remove unity*). However your suggestion seems to be very sound and thus I'm marking it. – henry Jan 27 '14 at 19:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.