I just did my first install of any Linux OS, and I accidentally selected "Desktop GUI" in the install, but I want to build everything myself. Is there any way by which I can remove the GUI environment without re-installing OS?

  • From what I've seen, there are always many GUI packages missed by the uninstall methods (one can see them with dpkg --get-selections as per @daniel-bank's comment). If using the method of removing base packages, then autoremoving the rest, it's easy to lose desired packages that were installed as dependencies. apt-mark can set them as explicitly installed, preventing automatic removal, but the end result is never as clean as a fresh install would have been.
    – Walf
    May 26, 2020 at 9:29

3 Answers 3


Debian uses tasksel for installing software for a specific system. The command gives you some information:

> tasksel --list-tasks
i desktop       Graphical desktop environment
u web-server    Web server
u print-server  Print server
u dns-server    DNS server
u file-server   File server
u mail-server   Mail server
u database-server       SQL database
u ssh-server    SSH server
u laptop        Laptop
u manual        manual package selection

The command above lists all tasks known to tasksel. The line desktop should print an i in front. If that is the case you can have a look at all packages which this task usually installs:

> tasksel --task-packages desktop

On my system the command outputs 36 packages. You can uninstall them with the following command:

> apt-get purge $(tasksel --task-packages desktop)

This takes the list of packages (output of tasksel) and feeds it into the purge command of apt-get. Now apt-get tells you what it wants to uninstall from the system. If you confirm it everything will be purged from your system.

  • 3
    Hm, what do you make of this, with tasksel --task-packages desktop I only get task-desktop? But I have some of those packages (e.g., twm). Nov 21, 2012 at 22:55
  • 1
    What is the output of tasksel --list-tasks | grep "^i"? Is the package desktop-base installed?
    – qbi
    Nov 22, 2012 at 21:03
  • 1
    tasksel --list-tasks | grep "^i" doesn't give my anything: I have only u lines for tasksel --list-tasks, including u desktop Debian desktop environment. aptitude show desktop-base says that package (desktop-base) is installed, though. Are those related? I'm not sure what to make of this. Nov 22, 2012 at 22:21
  • 7
    This answer partially worked for me, but I also had to: dpkg --get-selections (showed me that I had xserver packages installed), apt-get purge xserver-* (delete all the xserver packages). Oct 28, 2015 at 16:17
  • @qbi I am on mint, and tasksel --list-tasks shows no option for desktop in my case i stands for LAMP server
    – Prvt_Yadav
    May 6, 2018 at 3:59

It means Debian changed the behaviour of this by now using a single "meta" package called task-desktop which pulls in the other packages via dependencies and recommends. So it's true what tasksel tells you, it just installs that single package, but if you look at the details of that, like so:

apt-cache show task-desktop

you will see the other (actual) packages this pulls in in the lines starting "Depends:" and "Recommends:". To remove them try "apt-get remove task-desktop" or list the package names individually.

  • 3
    You can just uninstall the task-desktop package and the do a apt-get autoremove to purge the dependencies.
    – Thorian93
    Oct 7, 2019 at 8:20
  • apt autoremove --purge to purge also the dependent packages
    – rubo77
    Apr 14, 2022 at 20:35
apt purge task-desktop task-german task-german-desktop hyphen-en-us libglu1-mesa libreoffice-* libu2f-udev mythes-en-us x11-apps x11-session-utils xinit xorg xserver-* desktop-base totem gedit gedit-common gir1.2-* gnome-* gstreamer* sound-icons speech-dispatcher totem-common xserver-* xfonts-* xwayland gir1.2* gnome-* vlc*


apt autoremove --purge

to purge all dependent packages as well.


You must log in to answer this question.

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