Mini KDE for a Lightweight Desktop
The only pieces I wanted from kdebase were libkonq, Konqueror, Kicker and Kwin. I was able to exclude support for xinerama, jasper, arts, Java, GL, Samba, lm-sensors, mDNSResponder-devel and libraw1394-devel. I left out the wallpapers. I also removed sounds and templates, together with the dependency from the redhat-artwork package. But, I had to put them back, otherwise RPM couldn't make it to the end for reasons not clear yet.
Here, as I needed only KMail, Kopete and KNode, I removed a lot of programs: karm, knotes, kdgantt, kgantt, korn (mail notifier), kpilot, kmobile and ksync, kandy, kitchensync, kalarm, kresources, kfile-plugins, konsolekalendar, korganizer, wizards, kontact and plugins. Even the BuildRequires dependencies from bluez-libs-devel (Bluetooth) and gnokii (Nokia phone support) went away without problems.
Table 1 shows the sizes of the resulting binary packages, the first column, compared with standard RPMs for the same source versions from Fedora Core 4 or, for KOffice, Fedora Core 3 update repositories.
Table 1. Binary Package Size Comparison (sizes in bytes)
| Package Name | Mini KDE | Fedora |
|---|---|---|
| kdebase-3.4.1-1.0.kde.i386.rpm | 17,798,755 | 27,736,762 |
| kdelibs-3.4.1-1.0.kde.i386.rpm | 15,109,882 | 18,140,844 |
| kdepim-3.4.1-1.1.kde.i386.rpm | 9,864,436 | 18,089,962 |
| koffice-1.3.5-3.0.kde.i386.rpm | 14,514,826 | 14,276,427 |
To summarize, I went from a total of 78.24MB to 57.29MB for the four packages above. This is a 26.8% reduction in file size, which doesn't look bad at all, but the final space savings was only 20.95MB. The actual impact on disk space is better, however; Mini KDE required a bit less than 150MB. The regular packages for the same four bundles, plus the extra ones they carried along, came to just less than 340MB.
Keep in mind, these are my results from only the first trial, without changing or ever looking at the source code and maintaining full compatibility with my chosen distribution, all its updates and any third-party Qt programs. All the screenshots in this article show that the resulting binaries run without problems on Fedora Core 3.
You probably noticed that the only real savings come from kdebase and kdepim. This was expected. I haven't found out yet why KOffice came out slightly bigger, but I wanted to keep functionality, so I didn't remove anything from it. I simply rebuilt the package to make sure that my reduced kdebase and kdelibs were compatible with it.
As far as the other packages go, KDE is a bundle of many programs built on a common foundation. Even if you use few programs, that set of core libraries, dæmons and what-not cannot become much smaller. This is why kdelibs and part of kdebase remained almost untouched. At the same time, saying “I want only five or six applications, not 40” is what actually made kdebase and kdepim much smaller, almost without affecting the functionality of the remaining programs.
There are surely things that I have missed, tricks that I still have to learn and space for a lot more improvement in the method I have described. However, this was only a first test: the final goal, besides reducing the package size, is to make the compilation and packaging process of this Mini KDE as automatic as possible on every distribution. In this way, whenever new KDE or KOffice versions are released, they quickly and easily could be made available to all users with limited hardware and not enough skills to start from the source.
In order for this to happen, it is necessary to discover, collect and write down as much information as possible on how the items in the several subdirs files are related to one another, as well as any other optimization tricks. Suggestions are welcome!
I will continue to experiment in this area with the folks of the RULE and Ubuntu-lite mailing list, which I thank for their support and interest in this idea. You can find all the results and instructions for Mini KDE on the RULE Web page.
Special thanks also go to Luciano Montanaro, D. Faure and all the KOffice developers who provided much of the initial information to get me started.
Resources for this article: /article/8536.
Marco Fioretti is a hardware systems engineer interested in free software both as an EDA platform and, as the current leader of the RULE Project, as an efficient desktop. Marco lives with his family in Rome, Italy.
Articles about Digital Rights and more at http://stop.zona-m.net CV, talks and bio at http://mfioretti.com
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
4 hours 21 min ago - Please correct the URL for Salt Stack's web site
7 hours 32 min ago - Android is Linux -- why no better inter-operation
9 hours 47 min ago - Connecting Android device to desktop Linux via USB
10 hours 16 min ago - Find new cell phone and tablet pc
11 hours 14 min ago - Epistle
12 hours 43 min ago - Automatically updating Guest Additions
13 hours 51 min ago - I like your topic on android
14 hours 38 min ago - This is the easiest tutorial
21 hours 14 min ago - Ahh, the Koolaid.
1 day 2 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?





Comments
can you provide the mini kde
can you provide the mini kde binary files for download??
vexed by daemons
so we're talking about saving a few mb of diskspace here?
i'd love to know how to use a KDE app without the intractible 'lag' feeling which occurs on even modern machines, probably due to all the layers of abstraction built up ..first libc, then xlib, then qt, then kdelibs, then the app.. the feeling is similar to running OSX on my G3, and my G3 is a lot slower..
or how to use a KDE app without having to twiddle your thumbs for 30 seconds while waiting for a gravy-train of daemons to startup like kdeinit, kded, kcminit, klauncher, dcopserver, arts, ksmserver, knotify,etc.. it rains on the parade of otherwise-nice apps like konqueror or amarok in a dreadful way.
the problem seems to have been compounded with the move to 64bit, the sheer number of pointers means reading thru a hundred or two mb of libs which on a laptop hd is arduous torture at best.
its just funny to see apps written in "slow" scripting languages like TCL/Tk startup instantly and behave just as reponsively as those in "fast" C++, just due to the sheer number of abstractions that had to be built on top of C to be able to easily build usable/flexible apps like those of KDE..
So what do you recommend ..
So what do you recommend .. ???
Speedup KDE
Use Prelink it greatly speeds up KDE startup and application loading.
http://www.linuxforum.com/man/prelink.8.php
I use it and it halves the startup time.