BleachBit is an easy-to-use system cleaning tool for freeing disk space and maintaining privacy on your desktop PC. Its point-and-click interface is simple enough for novices, but powerful enough to save time for advanced users. You may find similar capabilities in a lot of Windows cleanup applications, but they don’t also work under Linux, as the cross-platform BleachBit does.
BleachBit is not an uninstaller utility; it mainly cleans applications that are already installed, such as web browsers. However, two of its features complement uninstallers. First, BleachBit includes a cleaner of broken shortcuts and file associations, such as are usually left behind by Wine in the user’s home directory, though they can be left behind by many other programs, such as RealPlayer, Beagle, and OpenOffice.org. Second, Linux software often comes localized in several languages, but the Linux installers don’t give the user the choice of which languages to install in order to save disk space. While Debian and Ubuntu users can use localepurge, BleachBit’s portable locale cleaner frees 700% more disk space than that utility.
I asked developer Andrew Ziem how difficult it is to write a cross-platform app that works on two such different OSes as Linux and Windows. “It depends on which day you ask me,” he says wryly. “Generally, writing in Python and GTK+ makes writing portable code fairly easy, so most days I can focus on platform-independent features. Still, there are challenges. One of the first struggles was packaging. The differences between Linux distributions can require as much effort as the differences between Linux and Windows. At a basic level, Ubuntu and Debian require .deb packages, while Fedora, openSUSE, and others require .rpm. Then there are incompatibilities in RPM itself (such as the MD5 vs. SHA256 hash), and once that is taken care of, there are different versions of Python. Linux distributions also can’t decide where to keep the same kind of files (such as the Apache logs). And the list goes on.”
Ziem started writing BleachBit last year out of a desire to learn PyGTK. “I had programmed in various other languages, such as PHP and C++, but I hadn’t written GTK+. I was tired of the unnecessary labor required to develop in C++, and Python’s motto is ‘batteries included.’ I chose GTK+ because it is cross-platform, mature, good looking, and, like Python, standard on virtually all Linux distributions.”
While PyGTK is standard on Linux machines, it’s not on Windows, so the Python and GTK+ framework make up about 95% of the BleachBit installation size on Windows. Ziem says, “I’ve mitigated the size with executable compression and a unique translation optimizer.”
Ziem released the first version of the software just before the end of last year. To date it has received 37 reviews on SourceForge.net – all positive.
BleachBit is portable, fast, and doesn’t require compiling. One way you can use it to speed up your system right away is by vacuuming your Mozilla Firefox SQLite databases. The Firefox databases grow fragmented, large, and slow. If you are a heavy web surfer, you should quickly notice an improvement in the speed of the Awesomebar (which provides searching in the URL field), and some people claim an improvement in startup speed. You should also save a few megabytes of disk space too.
In addition to a graphical interface, BleachBit provides a command-line interface to automate cleaning jobs in a shell script, batch file, or cron job.
You can find BleachBit in the package repositories for Debian, Ubuntu, Fedora, Slackware, openSUSE, Foresight Linux, PCLinuxOS, NetBSD, and Arch Linux distros. Because inclusion in a repository can take some time, and because the policy of mainline distros is to freeze a certain version of the application, the BleachBit web site offers .rpm and .deb downloads of new versions for major distributions.
The software is available in 33 – count ’em! – languages, thanks to what Ziem calls “an army of 99 volunteer translators.” Ziem says managing the translations takes a good amount of effort, especially given BleachBit’s schedule of releases every two to three weeks, sometimes with beta releases in between. “Launchpad provides a low barrier-of-entry for translators, and it’s easy for me to download translations from Launchpad,” Ziem says.
BleachBit is the tenth project Ziem has hosted on SourceForge.net since 2002. “It’s a large, mature site that provides a variety of nice tools (such as the statistics and project web space). For a while I had BleachBit’s web space hosted on Google App Engine. Half the reason I switched back to SourceForge.net was that it in case of trouble it generally provides real support; I can file a ticket that will be answered by a real human.”
In addition to his customized SourceForge.net web space, Ziem publicizes the software by listing it in GnomeFiles and Freshmeat, and via PAD (Portable Application Development), a software announcement standard for Windows download sites.
If you’d like to add your expertise to BleachBit, the project needs Greek, Japanese, Danish, Norwegian, and Finnish translators. Ziem also needs testers and auditors who can test SVN and beta releases with little hand-holding, as well as people to write cleaners for popular proprietary Windows applications such as Adobe Photoshop and InDesign; see the Contribute page for information on how to help.