如何删除所有已安装的KDE痕迹

我有两台安装了Ubuntu的电脑,但是我在两台电脑上都安装了KDE,以便为用户提供另一种选择。由于Unity已经非常好用,很长时间以来都没有必要再使用KDE了。我该如何一次性删除所有与KDE相关的软件包,释放空间并清除Ubuntu中与KDE相关的任何内容,包括在计算机启动或关闭时覆盖Ubuntu的标志,因为安装KDE后,默认的标志变成了Kubuntu的标志。如何通过简单的命令行或图形界面工具完全恢复到没有任何KDE相关内容的状态。
注意:我之所以提出这个问题,是因为逐个选择与KDE桌面环境相关的每个软件包非常耗时,还要检查它们是否与GTK相关,检查每个软件包的依赖关系等等。删除kubuntu-desktop软件包并不能删除与其一起安装的所有KDE软件包,因为这只是一个伪包,它安装了其他真正的软件包,但不会卸载它们,这让我想知道为什么一个软件包可以安装一堆其他软件包,却不能通过某种附加选项将它们卸载掉,而不仅仅是卸载伪包本身。

1之前:http://askubuntu.com/questions/73993/how-to-completely-remove-desktop - user26687
请参阅:删除KILE和其他KDE依赖项 - BuZZ-dEE
可能是卸载kubuntu-desktop的重复问题。 - int_ua
1Ubuntu 18的解决方案(使用Synaptic):https://askubuntu.com/questions/1068643/uninstall-kubuntu-desktop-from-ubuntu-18-04/1207803#1207803 - surfealokesea
谢谢@surfealokesea,是的,在写这篇文章时,我记得KDE在卸载过程中会留下一些残留物,这是一个严重的问题。很高兴现在情况有所改善。 - Luis Alvarado
12个回答

我相当喜欢以下删除操作的简单性:
apt-get remove kdelibs-bin kdelibs5-data 

Credit to craigevil on the Debian Forums. (http://forums.debian.net/viewtopic.php?f=10&t=102884)
这里的问题是,通过专注于构建几乎所有KDE的两个软件包,其余的KDE也会被卸载,因为它们依赖于上述软件包。

1非常出色..对于一个难以驯服的控制台安装,我感到非常满意。+1。 - J Evans
2在我看来,这是一个比接受的答案更好的方法。它不会触及标记为手动安装的软件包。 - berbt
说的是"未满足的依赖关系"。 - Nicolas Raoul
4我认为,在那之后你也应该运行 sudo apt autoremove - Qback
1这是在尝试了多种方法后对我有效的一个解决方案,用于从Ubuntu 16.04中移除KDE相关内容并恢复Unity系统设置。在我看来,比接受的答案要好得多。'apt-get remove unity-control-center apt-get remove kdelibs-bin kdelibs5-data apt autoremove apt-get install unity-control-center reboot' 就这样!!! - dimuthu
这在2022年已经过时了。 - Zamicol
1@Zamicol - 或许 - 我很高兴它工作了7年;-)。而且,更认真地说,我仍然认为这种方法是可行的 - 找到一个或两个基础包,并将它们移除以引发上层级联效应。这些可能会更改名称或版本号,但我建议值得去解决这个问题。最近我转用openSUSE(支持更好的硬件)并且不再拥有Debian系统进行测试,所以无法再提供这方面的支持了。 - dsz

您可以使用这个命令(从这里)完全移除KDE:
sudo apt-get remove akonadi-backend-mysql akonadi-server akregator amarok amarok-common amarok-utils apport-kde apturl-kde ark bluedevil cdparanoia cdrdao docbook-xsl dolphin dragonplayer freespacenotifier gnupg-agent gnupg2 gpgsm 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 libassuan0 libattica0 libbluedevil1 libboost-program-options1.46.1 libcalendarsupport4 libcln6 libclucene0ldbl libdebconf-kde0 libdiscid0 libdlrestrictions1 libdmtx0a libencode-locale-perl libepub0 libeventviews4 libfile-listing-perl libflac++6 libfont-afm-perl libgadu3 libgpgme++2 libgps19 libgrantlee-core0 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libibus-qt1 libilmbase6 libincidenceeditorsng4 libindicate-qt1 libio-socket-ssl-perl 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 libloudmouth1-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailcommon4 libmailtools-perl libmailtransport4 libmessagecomposer4 libmessagecore4 libmessagelist4 libmessageviewer4 libmicroblog4 libmpcdec6 libmsn0.3 libmuonprivate1 libmusicbrainz3-6 libnepomuk4 libnepomukquery4a libnepomukutils4 libnet-http-perl libnet-ssleay-perl libntrack-qt4-1 libntrack0 libokularcore1 libopenexr6 libotr2 libphonon4 libplasma-geolocation-interface4 libplasma3 libplasmaclock4abi2 libplasmagenericshell4 libpolkit-qt-1-1 libpoppler-qt4-3 libprison0 libprocesscore4abi1 libprocessui4a libqalculate5 libqapt-runtime libqapt1 libqca2 libqca2-plugin-ossl libqgpgme1 libqimageblitz4 libqjson0 libqrencode3 libqt4-designer libqt4-help libqt4-qt3support libqt4-scripttools libqt4-sql-sqlite libqt4-test libqtassistantclient4 libqtglib-2.0-0 libqtgstreamer-0.10-0 libqtscript4-core libqtscript4-gui libqtscript4-network libqtscript4-sql libqtscript4-uitools libqtscript4-xml libqtwebkit4 libreoffice-kde libreoffice-style-oxygen libsolid4 libsolidcontrol4abi2 libsolidcontrolifaces4abi2 libsoprano4 libssh-4 libstreamanalyzer0 libstreams0 libsyndication4 libtag-extras1 libtaskmanager4abi2 libtemplateparser4 libthreadweaver4 libtimedate-perl liburi-perl libvirtodbc0 libweather-ion6 libwww-perl libwww-robotrules-perl libxml2-utils libxss1 libzip1 muon muon-installer muon-notifier muon-updater mysql-client-core-5.1 mysql-server-core-5.1 ntrack-module-libnl-0 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 python-kde4 python-pyudev python-qt4 python-qt4-dbus python-sip qapt-batch qapt-deb-installer quassel quassel-data rekonq shared-desktop-ontologies software-properties-kde soprano-daemon system-config-printer-kde systemsettings update-manager-kde usb-creator-kde userconfig virtuoso-minimal virtuoso-opensource-6.1-bin virtuoso-opensource-6.1-common && sudo apt-get install ubuntu-desktop

然而,如果您在安装KDE之后手动安装了KDE特定的程序,那么您将需要单独删除这些程序,然后运行sudo apt-get autoremove警告:正如Munim所说,这将删除许多软件包,并且可能会删除在KDE之前(或在KDE之后但与其分开)安装的软件包,以及作为KDE的一部分安装的软件包。这可能偶尔会产生不可预测的结果,例如软件包配置问题。

syserss已经写了一个解释,关于在删除这些软件包后可能需要采取的进一步操作,以使系统按照您的意愿工作。

(我已经引用下面内容,并将引文格式更改为嵌入链接,以提高可读性。)

The steps above will remove all of the KDE software, but it won't necessarily restore your system back to pre-KDE install state. There are two additional steps that I had to do to restore my system to pre-installation of kubuntu-desktop.

The first was to modify the Plymouth configuration to remove the "Kubuntu" splash screen (this is just cosmetic, but still annoying and unclean, documented in Ubuntu shows 'Kubuntu' on boot):

sudo update-alternatives --config default.plymouth
sudo update-initramfs -u

And the second was to restore the lightdm configruation to use the unity-greeter instead of kde-plasma-greeter. First run this command to open the lightdm configuration page - sudo gedit /etc/lightdm/lightdm.conf and then edit / replace these lines:

greeter-session=unity-greeter
user-session=ubuntu

This last step I cobbled together from KDE overrides lightdm logon screen and How to return the login screen of the original unity ubuntu?.


4我正在尝试避免执行如此庞大的命令行。我正在寻找类似于"sudo apt-get remove kde4ever"这样的东西,简单地完成并移除所有与KDE相关的内容。 - Luis Alvarado
3你可以尝试运行sudo apt-get remove kubuntu-desktop(假设这是你安装KDE的软件包),然后再运行sudo apt-get autoremove,这样可能会删除你想要去掉的很多东西。...但是为什么你不想运行这么长的命令呢?把一个长命令粘贴到终端中并不比粘贴一个短命令更复杂。(我不只是问你是否应该运行那个命令-如果我了解你为什么不希望运行它,那么我或其他人可能能够推荐一个更适合和可行的解决方案,以满足你的特定需求。) - Eliah Kagan
1当我使用上述命令时,它提示我将删除一些软件包,其中包括我知道我需要并在Unity中使用的一些软件包(比如r-base)。我担心如果执行上述命令,我的系统会变得混乱。 - ECII
对于作为要被移除的软件包的依赖项而安装的软件包,您可以将它们设置为手动安装,通常可以防止它们被移除。您可以使用sudo apt-get install PACKAGE命令来执行此操作(如果软件包尚未安装,则与手动安装相同)。 - Eliah Kagan
@ECII 然而,对于 r-base 来说,问题很可能是它依赖的某个组件被移除了。这是一个不同的问题。为了解决这个问题,你需要找出 r-base 依赖的哪些组件被移除了。r-base 依赖于 r-base-core,而 r-base-core 又依赖于一些其他的包,请查看 http://packages.ubuntu.com/oneiric/r-base-core。一旦你找到了 r-base(或者 r-base-core)所依赖的包,你可以在你的机器上修改上面的命令(在运行之前,而不是在 AskUbuntu 上)以避免移除它们。 - Eliah Kagan
1在我的情况下,复制和粘贴到终端似乎不起作用(我想可能是与缓冲区大小有关的问题吧?)。我所做的是将其粘贴到文本编辑器中,以.sh扩展名保存,然后运行它。 - luisgonzalez
注意:谨慎使用此命令。我刚刚使用了这个命令,它删除了我的同理心、在线账户管理器和Google Chrome,这些都是在安装kubuntu-desktop之前安装的。即使重新安装后,同理心和在线账户管理器似乎仍无法正常工作。我正在努力恢复所有这些。如果没有任何办法,我可能会考虑重新安装Ubuntu系统。 - Munim
1@Munim 不错的观点,我应该提到这可能会移除与KDE分开安装的软件包。我已经在帖子末尾添加了一个警告,希望这对考虑使用这种技术的人有所帮助。 - Eliah Kagan

这篇帖子可能有点晚了。然而,由于其他方法对我没有起作用(我正在使用KDE5),我尝试了以下方法,并且成功解决了问题:
在bash中运行sudo apt remove libkf5* 在zsh中运行sudo apt remove 'libkf5*' 然后,使用sudo apt autoremove来删除所有未使用的软件包。

3这是最新的答案。 - Abhay Patil
感谢您帮助我移除那些有问题的KDE应用程序。 - Jayadevan Vijayan
1非常感谢!在我从我的20.04 LTS安装中移除UbuntuDDE后,它对我非常有效。 - yanike
非常感谢,我使用sudo apt install kde-plasma-desktop安装了KDE,它帮助我清除了所有的东西! - Aditya
谢谢,帮了很多忙! - Sai Kumar

现在要容易得多了。
安装你之前的桌面环境(它应该在缓存中,所以你不需要下载任何东西)。
sudo apt install ubuntu-desktop

您仍然会在启动屏幕上看到Kubuntu。因此,要删除它。
sudo update-initramfs -u

重启电脑。 在登录界面上选择除了KDE以外的桌面会话。
最后彻底删除所有与KDE相关的痕迹。
sudo apt remove --purge kubuntu-desktop
sudo apt autoremove

如果你仍然看到KDE登录界面(很少见)
sudo dpkg-reconfigure gdm3
sudo apt remove --purge sddm

用您当前的桌面环境的显示管理器替换gdm3。在Ubuntu上常见的有gdm、lightdm。

如果您使用的是Ubuntu 15.10或之前的版本,那么这个命令会很有帮助:
sudo apt-get remove kubuntu

如果您正在使用Ubuntu 16.04和Plasma 5,那么请按照以下步骤进行操作:
sudo apt purge kubuntu-desktop
sudo apt autoremove
sudo add-apt-repository --remove ppa:kubuntu-ppa/backports

不知道这是否是正确的方法,因为我是个初学者,但这对我起作用了。
sudo apt-get remove kde*

欢迎来到AU。你的答案可能对你的情况是正确的,但我不建议在一般情况下使用,因为这可能会删除不应该被删除的软件包。 - Marc Vanhoomissen
可能不是正确的命令,请参考apt-get purge。 - pim

这是对我有效的方法:
解析列表并确保将要删除的所有软件包都与KDE相关。
当然,如果它将删除核心组件如xorg或linux,则中止操作。

在终端中检查这个从Ubuntu论坛或者点击链接。
sudo apt-get remove kde-full && sudo apt-get autoremove

请注意(见评论),这可能不完整,但是一个很好的开始。

3由于这是一个元包,删除它将不足以解决问题(而且与sudo apt-get autoremove一起,只有在某些情况下才足够)。请参阅我的回答下的评论 - Eliah Kagan

请一个一个地尝试这两个:

sudo apt remove plasma-desktop --autoremove
sudo apt remove kubuntu-desktop --autoremove

如果它们不起作用,那么这个肯定会起作用:
sudo apt-get remove kde* --autoremove
sudo apt-get remove plasma* --autoremove

在我的情况下,它删除了烦人的k应用程序残留物。我卸载了它,因为我只看到黑屏幕和光标。Ubuntu运行得非常好。

看起来你的回答被截断了 - 你最后一句话暗示着至少还有一步,但是却没有提到。 - anonymous2
哦...请不要尝试最后一步,因为最后一步会毁坏我的操作系统。 - Sharad_740
我猜这是个笑话吧?说真的,还有其他步骤吗?如果没有的话,请删除最后一行,因为它只会让人困惑。 - anonymous2

首先,检查将要被移除的内容。
sudo dpkg -l | grep .kde.

如果你没问题的话,运行这个命令。
sudo apt autoremove --purge kde*

命令说明

# 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