xdiskusage: where is the space?

August 12th, 2007 edited by ana

Article submitted by Carles Pina from Catux-LUG. We have run out of good articles! Please help DPOTD and submit good articles about software you like!

Have you ever wished to know where are those files that waste space on your hard drive? Have you ever wondered which folder contained the most gigabytes? Your wishes had become true! xdiskusage is your application.

Using xdiskusage you can discover very easily how your hard drive’s directories are organised, and specially how much space is used by each one.

After executing xdiskusage without arguments, the initial default view will be the list of partitions:

Main view

By double-clicking in some partition you will get the list of the biggest directories (arranged by size) and the space that each one is using:

root view
(notice that free space is shown as another directory)

You can double-click in any other directory to explore it. Right-clicking shows a menu with some options like hide, unhide, go in, go out, etc. Just play with it!

xdiskusage is also a fantastic complement for “du”:

$ cd /tmp
$ du | xdiskusage

You can give any directory as an argument to xdiskusage:

$ xdiskusage /usr/src

One last thing: the -a switch shows files and not only directories:

File view


In Debian you can fine some alternatives to xdiskusage like:

  • gt5: not in Debian Etch. HTML based, needs a browser to navigate (text or graphical)
  • baobab: GTK based
  • filelight: KDE libs based
  • kdirstat: KDE based

The last three of them are more eye candy than xdiskusage, but I preferred a simpler solution, without that many dependencies. Of course, feel free to test and choose!


xdiskusage has been available in both Debian and Ubuntu since a long time ago.

Note that there is a bug that doesn’t allow the application to be launched by app-launchers such as Alt + F2 or menus. It’s a reported bug (Debian bug #276193).

Thanks to Fran Hermoso for correcting the text again, and to Muzzol from the Catalan-Ubuntu mailing list for commenting it.

Posted in Debian, Ubuntu | 10 Comments »

KRename: powerful renaming tool

August 8th, 2007 edited by ana

Entry submitted by Matej Urbančič. DPOTD needs your help, please contribute!

Quick overview

KRename is a powerful batch renaming tool for KDE that allows to rename lots of files in one step. The design of the program is suitable for both advanced and novice users.

Program description

KRename supports batch renaming of files based on a set of predefined and adjustable expressions. It can also copy or move the files to another destination. Among the most notable operations are: case-toggling of file names, numbering and powerful finding and replacing. It supports changing access and modification dates, permissions, and file ownership. It can work recursively. The more demanding audience can do magic with the support for regular expressions. It can be used in tabbed mode or the more comfortable wizard mode, whatever you prefer, when sorting your picture collection, music library or project files.

KRename follows the paradigm of console based commands that can really be used for any purpose. Since not all of us feel comfortable writing our own scripts, such tools really are a perfect replacement. The biggest advantage of KRename is surely its simple and straightforward interface and a great set of possibilities, which gives power even to not so knowledgeable users.

The tabbed mode includes four tabs. On the first tab we select files and directories in many different view modes and sort options, and through support for global KDE file types we can actually see which files are being changed. We need to define what should the program do with the locations of the files in the second tab. Usually we rename existing files in some directory, but the program can also move them to another location. The third tab defines the plug-ins to be used for some special operations, such as using data extracted from the file to determine its new name (it supports avi, ogg, pdf, jpg, bmp, mp3, deb, rpm, emails, etc), changing permissions.

In the last tab we define what exactly we want to do with the settings we selected and how to shape the file name. There are many predefined sets of expressions, but we can also make our own. KRename supports regular expressions, which can really make a difference.

For the wizard mode, the first two steps are very similar to the first two tabs, whereas the third —and last— step combines the other two tabs in a simpler interface.


Tabs view:
krename - 1st tab krename - 2nd tab krename - 3rd tab krename - 4th tab

Wizard view (last step):
krename - wizard mode

Additional Information

In the homepage you can find a support forum, and more screenshots. It is programmed in C++, using the Qt/KDE framework, and has been integrated in Krusader and the Konqueror file manager.

It has been available in Debian and Ubuntu since a long time ago.

Posted in Debian, Ubuntu | 3 Comments »

Liquidsoap: a versatile icecast source client, and much more…

August 5th, 2007 edited by Tincho

Article submitted by Romain Beauxis. We have run out of good articles! Please help DPOTD and submit good articles about software you like!


Liquidsoap is a powerful audio stream generator designed to work with icecast as a source client. It was built for the campus net-radio of the Ecole Normale Supérieure de Lyon. The tough requirements included: accepting user requests, handling remote files and play lists, scheduling special programs, mixing jingles in the stream, interacting with the website or an IRC bot, etc.

The special thing of Liquidsoap is that instead of building an ad-hoc solution for that single net-radio, it was developed as a flexible tool with which you can combine as you like the features that you want. Hence, it has then been used successfully for several other net-radios, for which the usual streaming tools weren’t enough.


Describing an audio stream can be very complex: several inputs (files, stream relaying, sound card input) that can be combined in various ways (audio processing, mixing, track scheduling, fall-backs) and finally be output in various other ways (several servers, contents and formats). To make it easy without losing expressive power, Liquidsoap uses its own little scripting language for configuration.

That language has a notion of audio stream and request, and has built-in functions for combining streams in various ways. Some of its main features are:

  • It is statically typed: your stream never crashes because you made a typo in a dark corner of the configuration.
  • Types are inferred: you don’t have to write them.
  • It is functional: you can define your own compound operations, but functions are also used to describe transitions from one stream to another.

Liquidsoap is quite versatile: it can be used as a daemon or as a command-line tool, and is not restricted to streaming to an icecast server, it can also stream to your local sound card!


If you are not aware of the way a web radio can be built using icecast, you may want to read some more documentation on this topic. In short, icecast accepts sources connections, and relays the data from these sources to its listeners. Liquidsoap acts as a source.

Let’s begin with a very simple example… Let’s say that you run an icecast server at host myhost with the password for sources being hackmeimcool, and you want to stream in Ogg/Vorbis a single looped file (it can be Ogg/Vorbis, MP3, WAV, even AAC on the SVN version). Then this may do the job for you:

$ liquidsoap 'output.icecast.vorbis(host="myhost",password="hackmeimcool",

Another possible usage is to relay a net-radio to your sound card using libao. For this you may try:

$ liquidsoap ',

Liquidsoap can also be used as a scripting language, so the following does both previous examples:


# Set log to stdout and /tmp
set log.stdout = true
set log.dir = "/tmp"

# Output a file to an icecast server
file = single("/path/to/my/file")

# Output a net-radio locally:
radio = fallback(track_sensitive=false,[input.http(""),blank()])


The complete API is available here. We have not presented many cool features, such as:

  • sound effects;
  • custom transitions;
  • sound card I/O;
  • interaction with other components (website, external scheduler) in a more complex framework;
  • many others…

Liquidsoap is already used in various net-radios, such as Dolebrai which streams libre music, and RadioPi which has a complex multi-server and multi-stream configuration.

This presentation of Liquidsoap was very very short… This is not the place for a tutorial, so let’s finish instead with a power user example, which I hope will make you eager to learn more. Just download and run, there’s nothing to edit!


  • Download this as test.liq
  • Run it with this command: liquidsoap test.liq and listen!

Optionally you can test the following:

$ telnet localhost 1234

q.push /path/to/file

If you are interested in a very flexible way to design your audio stream, feel free to visit our website, drop us a mail at or join our IRC channel, #savonet at Freenode. Liquidsoap is available in Debian testing and unstable, it hasn’t been uploaded to Ubuntu yet.

Posted in Debian, Ubuntu | 2 Comments »

apt-listbugs: Lists critical bugs before each apt installation

August 1st, 2007 edited by Tincho

Article submitted by LordRich. We have run out of good articles! Please help DPOTD and submit good articles about software you like!

apt-listbugs is a tool designed to warn the user about critical bugs of packages that are about to be installed or upgraded. Once installed, each time you use aptitude or apt-get it will be run, and if it detects any critical bugs will stop to ask the user what to do.

For using it, usually you don’t need more than installing it. But note that it will run after downloading the packages, so be patient. Here you can see it in action when installing cogito:

# apt-get install cogito
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  git-core libdigest-sha1-perl liberror-perl
Suggested packages:
  git-arch git-cvs git-svn git-email git-daemon-run gitk gitweb
Recommended packages:
The following NEW packages will be installed:
  cogito git-core libdigest-sha1-perl liberror-perl
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/2569kB of archives.
After unpacking 6087kB of additional disk space will be used.
Do you want to continue [Y/n]?
Reading package fields… Done
Reading package status… Done
Retrieving bug reports… Done
Parsing Found/Fixed information… Done
serious bugs of cogito ( -> 0.18.2-3) <pending>
 #427182 - cogito - FTBFS:  FAIL 14: verifying repo2
 cogito(1 bug)
Are you sure you want to install/upgrade the above packages? [Y/n/?/...]  ?

It then allows users to find out more about the specific bugs listed. By typing w, a web-browser is launched offering links to the bug tracking system for each bug.
apt-listbugs web page

By answering with a bug number, querybts is run giving details for that particular bug:
apt-listbugs showing a bug report

After finding out exactly why the packages are listed as having critical bugs, the user can then either decide to continue the installation anyway by answering y (the default) or stop immediately by answering n.

apt-listbugs has been available in both Debian and Ubuntu since a long time ago.

Posted in Debian, Ubuntu | 6 Comments »

Next Entries »